Scanner Delimiters

In this chapter you will learn:

  1. How to set Delimiters

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:

  1. How to let Scanner to find within next line
  2. How to let Scanner to find within a distance
Home » Java Tutorial » I/O
RandomAccessFile
FilenameFilter
StreamTokenizer
Console
Console password reading
Scanner creation
Scanner read and scan
Scanner Delimiters
Scanner finding