<< Chapter < Page Chapter >> Page >

The program named Java4650a

I will explain this program in fragments. A complete listing of the program is provided in Listing 4 .

The URLConnection class is abstract , and therefore cannot be instantiated directly. However, it can be extended , and it has a protected constructor that requires a URL object as a parameter.

A common way to get a URLConnection object is to call a method on a URL object that returns an object of a subclass of the URLConnection class. That is the case in the sample program for this module.

I will ignore the exception handling code in the discussion of this program.

All of the code in the sample program is contained in the main method of the controlling class.

Beginning of the program

The beginning of the program and the beginning of the main method is shown in Listing 1 .

Listing 1 - Beginning of the program.
import java.net.*; import java.io.*;import java.util.*; class Java4650a{public static void main(String[] args){String dataLine; try{//Get a URL object URL url = new URL("http://www.austincc.edu/baldwin/page1.html");

Get a URL object

The code at the bottom of Listing 1 instantiates a URL object. This is essentially the same code that you saw in an earlier module, but you need to see it again here in order to understand the code thatfollows it.

URLConnection object

The code in Listing 2 gets a URLConnection object by calling the openConnection method on the URL object instantiated earlier.

Listing 2 - Get a URLConnection object.
URLConnection urlConnection = url.openConnection();

Get information about the URL

The code in Listing 3 calls three methods on the URLConnection object to obtain three of the higher-level informational aspects of the URL:

  • the URL
  • the date that the file was last modified
  • the content type of the file
Listing 3 - Get information about the URL.
System.out.println(urlConnection.getURL()); Date lastModified = new Date(urlConnection.getLastModified()); System.out.println(lastModified);System.out.println(urlConnection.getContentType());

The result of these three inquiries is shown as the first three lines of text in Figure 1 .

The remaining code

Following this, the program uses the URL object to get an input stream and to display the contents of the file. However, this essentially duplicates a portionof the program in an earlier module, so I won't discuss it further here.

Run the program

I encourage you to copy the code from Listing 4 . Compile the code and execute it. Experiment with the code, making changes, and observing the results of your changes. Make certain that youcan explain why your changes behave as they do.

What's next?

In the next module, I will show you how to download a simple HTML file and to render it in a way that is similar to how it would be rendered in a browser.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Java4650: The URLConnection Class
  • File: Java4650.htm
  • Published: 03/02/14
  • Revised: 02/07/16
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

Complete program listing

Listing 4 - The program named Java4650a.

/*File Java4650a.java Copyright 1998, R.G.Baldwin Revised 01/05/14Illustrates connecting to a URL and creating a URLConnection object.Uses the URL object to obtain and display the URL, the date last modified, and the content type.Also uses the URLConnection object to obtain an input stream object. Then uses this object to read anddisplay the file. **********************************************************/import java.net.*; import java.io.*;import java.util.*; class Java4650a{public static void main(String[] args){String dataLine; try{//Get a URL object URL url = new URL("http://www.austincc.edu/baldwin/page1.html"); //Open a connection to the URL and get a// URLConnection object. URLConnection urlConnection = url.openConnection();//Use the connection to get and display the URLSystem.out.println(urlConnection.getURL());//Use the connection to get and display the date last // modified.Date lastModified = new Date( urlConnection.getLastModified());System.out.println(lastModified);//Use the connection to get and display the content // type.System.out.println(urlConnection.getContentType());//Use the connection to get an InputStream object. // Use the InputStream object to instantiate a// DataInputStream object. BufferedReader htmlPage =new BufferedReader(new InputStreamReader( url.openStream()));//Use the DataInputStream object to read and display// the file one line at a time. while((dataLine = htmlPage.readLine()) != null){System.out.println(dataLine); }//end while loop}//end try catch(Exception e){e.printStackTrace(); }//end catch}//end main }//end class Java4650a

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask