java - 扫描从文件读取的行的有效方法

标签 java java.util.scanner

我需要扫描直接从文本文件读取的行中的单词。我目前正在使用 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);
}
<小时/>

输出

test

enter image description here

关于java - 扫描从文件读取的行的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494385/

相关文章:

java - 如何使用户按下的按钮在按下时缩小?

java - JPanel 只显示矩形而不显示 JButton

javax.crypto.BadPaddingException : Given final block not properly padded in CipherInputStream

java - 忽略空格、空格

Java解析字符串输入

java - 为整个应用设置屏幕方向

java - 如何将 java 用于每个带有自定义类的循环?

java - 如何文件行尾并增加变量

java - 使用扫描仪在java中分离html的元素和标签

java - 使用 Scanner 时添加 null 值