gpt4 book ai didi

Java 扫描器不会读取文件末尾的空行

转载 作者:太空宇宙 更新时间:2023-11-04 13:54:16 25 4
gpt4 key购买 nike

我正在编写一个读取数据文件的文件解析器

BREAK ;
FI
REPEAT
PRINT "bye all"
.
//empty line

并解析字符、空格、(、; 等,并将每个项目存储在 Arraylist 中。我可以读取头部和主体的空行,但不能读取末尾的空行。

Scanner fileInput = new Scanner(new File(path));
int count = 0;
while (fileInput.hasNextLine()) {
count++;
line.clear();
System.out.println("hasNext");
//line holds entire line since scanner skips spaces
String a = fileInput.nextLine();
System.out.println("a is String" + a);
int i = 0;
String str = ""; // used to store single word and spaces
boolean stop = false;
if (a.isEmpty()) {
line.add("EoLn");
System.out.println("line " + count + " EOL");
}
}

完整来源https://gist.github.com/dcf7a215f3582bae962a.git[1]

最佳答案

默认情况下,Scanner 使用空格作为分隔符。你可以这样做

fileInput.useDelimiter(System.getProperty("line.separator"));

关于Java 扫描器不会读取文件末尾的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com