我想获取文件的行,在该行中搜索特定文本,然后返回该行以及文件中具有相同特定文本的所有其他行。
到目前为止我有这个:
public String searchText(String text, String file)
{
StringBuffer sb = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
while((line = br.readLine()) != null)
{
while(line.indexOf(text) > 0)
{
sb.append(line);
}
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}
它必须是我需要时可以使用的功能。 我希望你们明白我想做什么,并提前致谢。
最佳答案
看起来您的代码非常好,并且您正在以正确的方式解决问题。您只需要一些东西来整理它,例如用 \n
分隔每一行。换行符,并调用 br.close();
当你读完文件后。我也不确定你为什么使用 while(line.indexOf(text) > 0)
- 它确实应该是 if
声明。
根据找到这些行后您想要如何使用它们,您可能会发现使用 ArrayList<String>
更好。只是add()
与其匹配的行(而不是当前的 StringBuffer
)。如果您要在从方法返回时单独使用每一行,这可能是一个更好的解决方案。
关于java - 在该行中搜索文本时如何返回该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153310/