阅读线每隔一行跳过一次

时间:2017-05-24 21:42:40

标签: java javafx netbeans fxml

我正在制作一个基本上从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行。

1 个答案:

答案 0 :(得分:4)

你要调用in.readLine()两次(一次在while语句中,它读取第一行,再次在appendText中读取第二行)。将字符串中的while语句中的值缓存,然后再使用它。