You create the URLConnection, then set modifiers such as setUseCaches( false ), then call connect, the start reading or writing using methods to read header such as getContentType or getContent to read the body of the message.
connect is a bit confusing, since it will get called for you automatically if you leave it out, and you can’t set any modifiers once it has been called, whether you called it, or it was called automatically. It forgiving. If you call it and you are already connected, it is just ignored.
One slightly peculiar thing about URLConnection c = url.getConnection () is that URLConnection is an abstract class. When you use url.openConnection () you will get say an HTTPConnection subclass of URLConnection object or a JarURLConnection object, since there is no such thing as a plain URLConnection object. If you cast your URLConnection result to a HTTPConnection, you have access to extra methods.
URLConnection is tricky in that some of its methods will work only before you call connect e.g. setDoInput, setDoOutput and setUseCaches while other methods will only work after, e.g. getContent, getHeaderField, getInputStream and getOutputStream.
getContent is a mysterious method. It gets you a chunk of data, e.g. a jpg file (ImageProducer), a chunk of an email etc. You have to cast the Object it gives you to whatever it was you were expecting based on the mime type in the message header. It is probably easiest just find out what you get by experiment, by displaying the classane of the object you get. Some possiblitites include:
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.16] | ![]() | ||
| You are visitor number 13,648. | |||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/urlconnection.html | J:\mindprod\jgloss\urlconnection.html | ||