Jea*_*ett 3 java bufferedreader java.util.scanner
我需要读取文本文件的前n行作为行(每行可能包含或不包含空格).文本文件的其余部分包含未知数量N的以空格分隔的标记(分隔符是空格,制表符和换行符的混合,所有这些都被视为与分隔符完全相同).
我知道如何使用BufferedReader读取行.我知道如何使用Scanner读取令牌.但是,如何以上述方式将这两种不同的阅读模式组合成单个文本文件?
您可以使用a Scanner执行这两项任务.看Scanner.nextLine方法.
如果你真的需要同时使用a BufferedReader和a,Scanner你可以这样做:
byte[] inputBytes = "line 1\nline 2\nline 3\ntok 1 tok 2".getBytes();
Reader r = new InputStreamReader(new ByteArrayInputStream(inputBytes));
BufferedReader br = new BufferedReader(r);
Scanner s = new Scanner(br);
System.out.println("First line: " + br.readLine());
System.out.println("Second line: " + br.readLine());
System.out.println("Third line: " + br.readLine());
System.out.println("Remaining tokens:");
while (s.hasNext())
System.out.println(s.next());
Run Code Online (Sandbox Code Playgroud)
输出:
First line: line 1 // from BufferedReader
Second line: line 2 // from BufferedReader
Third line: line 3 // from BufferedReader
Remaining tokens:
tok // from Scanner
1 // from Scanner
tok // from Scanner
2 // from Scanner
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5437 次 |
| 最近记录: |