Java如何使用Scanner类分割字符串?

不使用StringTokenizer类或String.split()方法,我们可以使用java.util.Scanner类来分割字符串。

package org.nhooo.example.util;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerTokenDemo {
    public static void main(String[] args) {
        // 该文件包含一些数据,如下所示:
        // A B C D
        // e,f,g,h
        // i,j,k,l
        File file = new File("data.txt");
        try {
            // 在这里,我们使用Scanner类逐行读取文件内容。
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();

                // 从上面的代码行中,我们从文件中获得了一行
                //内容。现在我们要用逗号分隔行 
                // 字符定界符。
                Scanner lineScanner = new Scanner(line);
                lineScanner.useDelimiter(",");
                while (lineScanner.hasNext()) {
                    // 从Scanner对象获取每个分割的数据并打印
                    // 价值。
                    String part = lineScanner.next();
                    System.out.print(part + ", ");
                }                
                System.out.println();
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
}