<< Chapter < Page Chapter >> Page >
Figure 6 - Encoding rules.

To convert a String, each character is examined in turn:

The ASCII characters 'a' through 'z', 'A' through 'Z', and '0' through '9' remain the same.

The space character ' ' is converted into a plus sign '+'.

All other characters are converted into the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the lower 8-bits of the character.

Elliotte Rusty Harold provides a URLDecoder class in his Java Network Programming book that takes a URL string in the format shown above and converts it back toits String representation.

The program Java4640d

Now it is time to put some of what you have learned to work with a program named Java4640d . Once again, I will explain this program in fragments. A complete listing is provided in Listing 9 .

This program illustrates using a URL object to connect to a URL and to read a file from that URL as an input stream. As we will see later, we can and will do the same thing using sockets in future modules.

Your computer must be online for this program to run properly. Otherwise, it will throw an exception of type UnknownHostException .

Program output

The output from the program is a display of the contents of the file named page1.html in a raw text format. Thus, all of the HTML tags are visible.

(Of course, you can modify the program to download and display a different file on the same or a different website.)

As of January 2014, the output for the beginning of the file was as shown in Figure 7 . (The file is much longer than that shown.)

(I may modify the contents of this file from time to time, so if you compile and run this program later, you may get different results.)
Figure 7 - Program output.
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.7 [en] (WinNT; I) [Netscape]"><title>Java and JavaScript Programming, by Richard G Baldwin</title></head><body bgcolor="#FFFFFF" link="#0000FF" vlink="#FF0000" lang="EN-US"><h1>Baldwin's Test Page 1</h1>Click<a href="http://www2.austin.cc.tx.us/baldwin/page2.html">here</a>to view page 2<p>Note: The material on this page is not intended to be of any particular value. This file is posted for the purpose of testing HTTP networkprograms only.<p>The following red bar is a centered gif file.<center><p><img SRC="red_thick_line_1.gif" BORDER=0 id="_x0000_i1025" height=9 width=300></center><center><h2>The following is a centered two-column table</h2></center>

The beginning of the program

The program begins in Listing 5 .

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

As before, I will ignore the exception-handling code while discussing this program.

Create a URL object

As you saw in the previous program, the URL class has several different constructors, each of which can create a new URL object on the basis of URLinformation provided as parameters to the constructor. The constructors differ in terms of how the URL information is provided.

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