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 HttpURLConnection 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 HttpURLConnection, 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:
| You can get the freshest copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | |
| http://mindprod.com/jgloss/urlconnection.html | J:\mindprod\jgloss\urlconnection.html | |
![]() | ||
| Canadian Mind Products | ||
| mindprod.com IP:[65.110.21.43] | ||
| view Blog | Your face IP:[38.107.191.106] | |
| Feedback | You are visitor number 18,339. | |