我正在制作一个基本上从txt文件加载的小程序。 txt文件包含以下数据:
NAME1, xx, xx, xx, xx (Where XX are numbers)
NAME2, xx, xx, xx, xx
etc...
此文件没有设置结束,因为稍后可以编辑它以添加其他名称。 我必须阅读的代码如下:
private void doLoadProfile() {
String filePath = System.getProperty("user.dir") + File.separator + "profiles.txt";
System.out.println(filePath);
try {
FileInputStream fis = new FileInputStream(filePath);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
while (in.readLine() != null) {
displayLog.appendText(in.readLine() + "\n");
}
} catch (FileNotFoundException e) {
displayLog.appendText("\n Error: file not found" + e.toString());
} catch (IOException e) {
displayLog.appendText("\n Error: " + e.toString());
}
}
然而,这只会输出所有其他行,由于某种原因它会跳过行(我有一个4行的txt文件,我只得到第2行和第4行)。我尝试添加额外的2行,然后再次获得第2,第4和第6行。
答案 0 :(得分:4)
你要调用in.readLine()两次(一次在while语句中,它读取第一行,再次在appendText中读取第二行)。将字符串中的while语句中的值缓存,然后再使用它。