Java Reference
In-Depth Information
and following blanks, with this statement:
i= Integer.parseInt(br.readLine().trim());
The other wrapper classes have their equivalents of parseInt . For example,
to extract a double value from a string line use:
double d= Double.parseDouble(line.trim());
Iteration with input
You may want to read and process keyboard input lines until some stopping
condition is met, e.g. some line contains the word "quit" . This kind of task is
usually done with a loop . If you know about loops, writing such a loop will be
easy. See Chap. 7 for a discussion of loops.
import java.io.*;
import javax.swing.*;
/** Illustrate use of class JFileChooser and reading a file */
public class FileChooserApp {
public static void main(String[] args) throws IOException {
BufferedReader br= getReader(); // A link to the user's file
if (br == null ) { return ; }
// Read file br and print the length of each line
String s= br.readLine();
// { inv: s is last line read and lengths of lines before line s have been printed }
while (s != null ) {
System.out.println(s.length());
s= br.readLine();
}
br.close();
}
/** Obtain a file name from the user, using a JFileChooser , and return a reader that
that is linked to it. If the user cancels the choice, return null */
public static BufferedReader getReader() throws IOException {
JFileChooser jd= new JFileChooser();
jd.setDialogTitle("Choose input file");
jd.showOpenDialog( null );
File f= jd.getSelectedFile();
if (f == null ) { return null ; }
return new BufferedReader( new FileReader(f));
}
}
Figure 5.6:
Read lines from a file selected by user and print their lengths
Search WWH ::




Custom Search