文字列のいくつかの行で構成されるテキストファイル内の特定の行に文字列を配置する必要があります。しかし、テキストやファイルの終わりを見つけるための私のループは、永遠に検索しています。私は文字列がファイル内にあることを知っています。ここでは、テキストを見つけるために使用しているコードですが、シンプルなテキストファイルであってもシステム上で試してみると、永遠のループに入ります。Java初心者:ファイル内の特定のテキストを検索する無限ループ
私がここで間違っていることを説明するためのヒントやポインターをありがとう。
private static void locateText(String locateText, BufferedReader locateBffer) {
boolean unfound = true;
try
{
String line = locateBffer.readLine();
while (unfound)
{
line = locateBffer.readLine();
if ((line.equals(locateText)) || (line == null))
{
unfound = false;
}
}
}
catch(IOException e)
{
System.out.println("I/O error in locateText");
}
}
更新:問題を発見 - それは、ファイルの最初の行に一致するものを見つけていませんでした。
注こと...それは(のStringUtilsのような)テキストのために非常に便利なクラスを提供してあなたは、commons.lang library of Apacheで顔をしていることを示唆しています、例えばboolean found = false; while(!found) –
@elwynn:回答が得られる質問を削除する必要はありません。彼らが同じ問題を抱えていて、SOを検索することでこれを見つけたら、他の人々が将来的に助けられるかもしれません。 –
@elwynn Garyの答えを受け入れてください! – Epaga