gpt4 book ai didi

java - 在 java 中读取文本文件——为什么会跳行?

转载 作者:行者123 更新时间:2023-11-29 06:40:36 25 4
gpt4 key购买 nike

我是新来的,正在努力尝试读取文本文件。每行都有一个单词和一个相应的数字代码。这个想法是阅读它并将代码和单词放在单独的变量中。我对这方面了解不多,但我一直在网上四处寻找并得出以下结论:

try{
FileReader freader=new FileReader(f);
BufferedReader inFile=new BufferedReader(freader);
while (inFile.readLine()!=null){
String s=null;
s=inFile.readLine();
System.out.println(s);
String[] tokens=s.split(" ");
string=tokens[0];
System.out.println(string);
code=tokens[1];
System.out.println(code);
c.insert(string, code);
}//end outer while
}//end try

问题是未读取文本文件的第一行。然后它每次都跳过一行! (也就是说,只读取第1、3、5、7行等)

正如我上面所说的,我是新手,我对我在不同在线网站上看到的所有不同的东西了解不多(比如为什么所有东西都是 bufferedThis 或 bufferedThat,或者如何正确使用所有的 tokenizer 东西) .我在不同的时间尝试了一些不同的东西,最后得到了这个。

最佳答案

您的 while 循环吞没了文件中的一半行。

while (inFile.readLine()!=null)

读取一行,但不将其分配给任何内容。在循环之前声明一个 String 并以这种方式读取每一行。

String line;
while ((line = inFile.readLine()) != null)

现在变量 line 将在循环内可用,因此您无需在循环内调用 inFile.readLine()

关于java - 在 java 中读取文本文件——为什么会跳行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12886638/

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