我需要扫描直接从文本文件读取的行中的单词。我目前正在使用 BufferedReader、FileReader 和 Scanner。 事情是这样的:
while((thisLine = reader.readLine()) != null){
Scanner scan = new Scanner(thisLine);
while(scan.hasNext()){
thisLine = scan.next();
System.out.println(thisLine);
}
}
它工作得很好,但我想知道是否有更有效的方法来做到这一点,而无需在读取的每一行中实例化 Scanner 类。
编辑:我实际上相信我需要使用 Scanner 类,因为如果遇到某种模式,我必须再次“扫描”一行。我在 SIC 机器的汇编器中工作,所以我必须弄清楚我正在阅读的内容是否是注释、指令、操作数等。
最佳答案
如果您使用的是 Java 8,您可能需要使用这种简单的方法来读取文件。
try(Stream<String> s = Files.lines(Paths.get("myFileName.txt"))) {
s.flatMap(x -> Arrays.stream(x.split(" ")))
.forEach(System.out::println);
}
<小时/>
输出
关于java - 扫描从文件读取的行的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494385/