我正在用Java編寫一個簡單的程序,它需要從文本文件讀取數據。但是,我在計算線路時遇到了問題。這個問題對於簡單的Google搜索似乎足夠通用,但我甚至可能不會搜索正確的東西。掃描儀上的文本文件hasNext()是無限的
我是從學習的教科書表明,計算在一個文本文件中的行數,你應該做這樣的事情:
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;
}
在我看來,該while (inFile.hasNext())
線的問題。我認爲hasNext()
運行無限。我在代碼中使用的數據文件絕對具有有限數量的數據行。
我應該怎麼辦?
替換'INT []''由列表'。這樣您就不需要事先知道尺寸,並且可以節省您多一個循環。 –
BalusC