小编Ava*_*ngo的帖子

文本文件hasNext()上的扫描程序是无限的

我正在用Java编写一个简单的程序,它需要从文本文件中读取数据.但是,我在计算线路时遇到了麻烦.对于简单的谷歌搜索来说,这个问题看起来很通用,但我甚至可能找不到合适的东西.

我正在学习的教科书建议,要计算文本文件中的行数,你应该这样做:

public static int[] sampleDataArray(String inputFile) throws IOException
{
        File file = new File(inputFile);
        Scanner inFile = new Scanner(file);

        int count = 0;

        while (inFile.hasNext())
            count++;

        int[] numbersArray = new int[count];

        inFile.reset();
        for (int i = 0; i < count; i++)
        {
            numbersArray[i] = inFile.nextInt();
        }

        inFile.close();
        return numbersArray;
}
Run Code Online (Sandbox Code Playgroud)

在我看来,这while (inFile.hasNext())条线是问题所在.我认为这hasNext()是无限的运行.我在代码中使用的数据文件肯定具有有限数量的数据行.

我该怎么办?

java java.util.scanner java-io

5
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×1

java-io ×1

java.util.scanner ×1