我需要将文本文件的第一行n作为行读取(每行可能包含或不包含空格)。文本文件的其余部分包含空格分隔的令牌的未知的号码N(分隔符是空格,制表符和换行符的混合,所有符号都必须作为分隔符处理)。使用BufferedReader和Scanner读取文本文件
我知道如何使用BufferedReader读取行。我知道如何使用Scanner读取令牌。但是,如何以上述方式将这两种不同的阅读模式组合到一个文本文件中?
我需要将文本文件的第一行n作为行读取(每行可能包含或不包含空格)。文本文件的其余部分包含空格分隔的令牌的未知的号码N(分隔符是空格,制表符和换行符的混合,所有符号都必须作为分隔符处理)。使用BufferedReader和Scanner读取文本文件
我知道如何使用BufferedReader读取行。我知道如何使用Scanner读取令牌。但是,如何以上述方式将这两种不同的阅读模式组合到一个文本文件中?
对于这两项任务,您都可以使用Scanner
。请参阅Scanner.nextLine
方法。
如果你真的需要同时使用一个BufferedReader
和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());
输出:
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
您能否给我们一些代码是什么你试过了,什么不行? – MasterCassim
我想我的问题很清楚。除了可能有几个实例化语句之外,没有代码示例。 –