尝试使用扫描仪读取.txt文件时文本丢失

时间:2017-08-07 04:08:57

标签: java

我正在使用以下代码来读取位于我的根项目目录中的.txt文件,但是,我始终遇到不包含整个文件正文的输出。我的代码如下:

public void readFile() throws IOException {
    int index = 0;
    int indexT = 1;
    File fileName = new File(file);
    Scanner inFile = new Scanner(fileName);
    while (inFile.hasNext()) {
        String line = inFile.nextLine();
        System.out.println(line);
        if (indexT%3 == 0) {
            fileList[index] = inFile.nextLine();
        } else if (indexT == 1 || indexT == 4 || indexT == 7){
            playList[index] = inFile.nextLine();
        } else {
            break;
        }
        index++;
        indexT++;
    }
    inFile.close();
}

我遇到了类似的问题,无法确定代码的问题。据我所知,它应该是完美的。感谢所有帮助!

1 个答案:

答案 0 :(得分:3)

你有一个循环,一个接一个地读取这些行,但是你在第2行你已经突破了它。它只是不会再进一步​​了。

while (inFile.hasNext()) {
    if (indexT%3 == 0) {
      //...
    } else if (indexT == 1 || indexT == 4 || indexT == 7){
      //...
    } else {
        break;
    }
    indexT++;
}

indexT从1开始,你有一个案例,然后它会递增。这一次,没有特殊情况,所以它达到了'#34; break"。并打破了循环。所以..不再读取任何行。