-2
私は現在、テキストファイルの数値である配列をソートしなければならないクラスのプロジェクトに取り組んでいます。私は、配列サイズを定義することができるように、.txtファイルにいくつの値があるかを調べるリーダーを作成しましたが、while()ステートメントは壊れているように見え、.hasNextLineを使用すると終わりのないループになります。ここに私のコードは次のとおりです。JavaでScanner.hasNextLineを適切に使用していますか?
File unsorted = new File("unsorted.txt");
int j = 0;//Counter for the amount of slots in the array
System.out.println("Executing file reading...");
try
{
Scanner input = new Scanner(unsorted);
while(input.hasNextLine()){
j++;//Scanner to count the length of the array
System.out.println(j);
}
input.close();
System.out.println("The file has " + j + " lines.");
}
catch (IOException ex){
System.out.printf("ERROR: Could not read file 'unsorted.txt'", ex);
}
System.out.println("File read.");
マイプリントラインが試した後、{}これまで私はしばらくの間()ループ内でJプリントを持っている場合、それは永遠に行く代わりに、印刷されません。このファイルには現在7つの値が入っています。すべての数字です。
あなたは決して行を読んでいません。より多くの行があるかどうかを確認してください。だから、それはまだ最初の行にあるので "はい"と言っています。 – RealSkeptic
ありがとう...私は今のところ、むしろ馬鹿だと感じています... – bordia
http://stackoverflow.com/questions/8352040/scanner-on-text-file-hasnext-is-infiniteの可能な複製 –