私は、永遠のforループでテキストを1行ずつ解析するJavaメソッドに取り組んでいます。
bufferReader
ご覧のとおり、 a の内容をリストに割り当てています
BufferedReader br = new BufferedReader(new FileReader("C:/feed.txt"));
String strLine;
ArrayList list = new ArrayList();
while ((strLine = br.readLine()) != null) {
list.add(strLine);
これは完全に機能し、feed.txt
コンテンツはarrayList
18238 行に完全に割り当てられます。
しかし、for ループ (次のコード) で反復子を使用してリストの内容を使用および処理しようとすると、問題が発生します。
Iterator itr;
for (itr = list.iterator(); itr.hasNext();) {
String str = itr.next().toString();
}
ループ内の命令 (ビジネス プロセス) は、プログラムが反復を停止する行番号 5175 まで完全に機能しています。イテレータに関連する問題です。
この行を削除しても特別なことは何もないので、イテレータについてだと思います。問題は解決しません。
イテレータに制限はありますか? どうすれば上げられるでしょうか?
私はこの行数を持つファイルを解析しようとしていますが、私のプロジェクトでは永遠に終わることのないループが発生し、常に行を受信することになっています。
私を助けてくれませんか?