Scanner Delimiters
In this chapter you will learn:
Setting Delimiters
Scanner
defines where a token starts and ends based on a set of delimiters.
The default delimiters are the whitespace characters.
It is possible to change the delimiters by calling the useDelimiter( )
method
Scanner useDelimiter(String pattern)
Scanner useDelimiter(Pattern pattern)
pattern is a regular expression that specifies the delimiter set.
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
//from j ava 2 s. c o m
public class MainClass {
public static void main(String args[]) throws IOException {
int count = 0;
double sum = 0.0;
FileWriter fout = new FileWriter("test.txt");
fout.write("2, 3.4, 5,6, 7.4, 9.1, 10.5, done");
fout.close();
FileReader fin = new FileReader("Test.txt");
Scanner src = new Scanner(fin);
src.useDelimiter(", *");
while(src.hasNext()) {
if(src.hasNextDouble()) {
sum += src.nextDouble();
count++;
}
else {
String str = src.next();
if(str.equals("done")) break;
else {
System.out.println("File format error.");
return;
}
}
}
fin.close();
System.out.println("Average is " + sum / count);
}
}
Next chapter...
What you will learn in the next chapter: