我是新来的,只是努力尝试读取文本文件.每行上都有一个单词和相应的数字代码.想法是将其读取并将代码和单词放在单独的变量中.我对这个领域了解不多,但是我一直在网上四处寻找,并提出了以下建议:
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或如何正确使用所有标记化器的内容).我在不同的时间尝试了几种不同的方法,最终得到了结果.
解决方法:
您的while循环吞噬了文件中的一半行.
while (inFile.readLine()!=null)
那会读一行,但不会将其分配给任何东西.在循环之前声明一个String,并以此方式读取每一行.
String line;
while ((line = inFile.readLine()) != null)
现在变量行将在循环内可用,因此您无需在循环中调用inFile.readLine().