java – 使用BufferedReader和Scanner读取文本文件
发布时间:2020-12-15 08:44:00 所属栏目:Java 来源:网络整理
导读:我需要读取文本文件的前n行作为行(每行可能包含或不包含空格).文本文件的其余部分包含未知数量N的以空格分隔的标记(分隔符是空格,制表符和换行符的混合,所有这些都被视为与分隔符完全相同). 我知道如何使用BufferedReader读取行.我知道如何使用Scanner读取令
我需要读取文本文件的前n行作为行(每行可能包含或不包含空格).文本文件的其余部分包含未知数量N的以空格分隔的标记(分隔符是空格,制表符和换行符的混合,所有这些都被视为与分隔符完全相同).
我知道如何使用BufferedReader读取行.我知道如何使用Scanner读取令牌.但是,如何以上述方式将这两种不同的阅读模式组合成单个文本文件? 解决方法
您可以使用扫描仪执行这两项任务.请参阅
Scanner.nextLine 方法.
如果你真的需要同时使用BufferedReader和Scanner,你可以这样做: byte[] inputBytes = "line 1nline 2nline 3ntok 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |