Java Reference
In-Depth Information
a search-engine company do nothing but browse the internet all day long, look-
ing for new html files, extracting information from new and old files, and saving
this information in a form that allows them to answer queries quickly.
Google
,
for example, has 30,000-40,000 computers networked together, not only for
answering your queries but for browsing the internet.
Thus, there is the need to read a file given by a URL. Figure 5.9 gives a
method that you can use in a Java program to read such files. Here is how it
works, assuming that variable
url
contains a
URL
:
1. The method call
url.openStream()
opens a connection to the file given
by URL
url
. This connection is in the form of an object of class
InputStream
, which is stored in variable
is
.
2. An
InputStreamReader isr
is created, which can read the file one char-
acter at a time.
3. A
BufferedReader
is created and returned, which can read one line of the
file at a time.
Suppose this statement is executed:
BufferedReader br= getReader(url);
Then, the lines of the file can be read and processed one at a time, just like the
lines of any other file connected to a
BufferedReader
. Remember, a line of the
file is read and stored in variable
line
using
line= br.readLine();
/** =
a reader for
URL url
(which must not be null). If
url
is
null
, if the protocol
is not
http
or
file
, or if there is an IO error,
null
is returned.
*/
public static
BufferedReader getReader(URL url) {
if
(
url
==
null
)
return null
;
if
(!url.getProtocol().equals("http") &&
!url.getProtocol().equals("file")) {
return null
;
}
try
{
InputStream is= url.openStream();
InputStreamReader isr=
new
InputStreamReader(is);
return new
BufferedReader(isr);
}
catch
(IOException e) {
return null
;
}
}
Figure 5.9:
Print two lines on a file chosen by the user
Search WWH ::
Custom Search