|On this page…|
This program, URLdemo, opens a connection to a website specified by a URL (Uniform Resource Locator) to read text from a file at that site.
URLdemo constructs an object of the Java® API class, java.net.URL, which enables convenient handling of URLs. Then, it calls a method on the URL object, to open a connection.
To read and display the lines of text at the site, URLdemo uses classes from the Java I/O package java.io. It creates an InputStreamReader object, and then uses that object to construct a BufferedReader object. Finally, it calls a method on the BufferedReader object to read the specified number of lines from the site.
The major tasks performed by URLdemo are:
Construct a URL object.
The example first calls a constructor on java.net.URL and assigns the resulting object to variable url. The URL constructor takes a single argument, the name of the URL to be accessed, as a string. The constructor checks whether the input URL has a valid form.
url = java.net.URL('http://www.mathworks.com')
Open a connection to the URL.
The second statement of the example calls the method, openStream, on the URL object url, to establish a connection with the website named by the object. The method returns an InputStream object to variable, is, for reading bytes from the site.
is = openStream(url);
Set up a buffered stream reader.
The next two lines create a buffered stream reader for characters. The java.io.InputStreamReader constructor is called with the input stream is, to return to variable isr an object that can read characters. Then, the java.io.BufferedReader constructor is called with isr, to return a BufferedReader object to variable br. A buffered reader provides for efficient reading of characters, arrays, and lines.
isr = java.io.InputStreamReader(is); br = java.io.BufferedReader(isr);
Read and display lines of text.
The following statements read the lines of HTML text from the site, looking for text beginning with a paragraph tag, <p>. Within the MATLAB® while loop, the BufferedReader method readLine reads each line of text (terminated by a return and/or line feed character) from the site.
p1 = java.lang.String('<p>'); p2 = java.lang.String('</p>'); s = readLine(br); while ~(s.startsWith(p1)) s = readLine(br); end
Display the text.