我有一个包含很多内容的文本文件。我找到了如何在文本文件中搜索单词的方法。但是我有一个地址需要搜索,你们都知道一个地址有多行(可以认为是一个段落),问题就来了。
如何将整个地址作为搜索输入?当我只给出一行地址时,我能够在文本文件中找到字符串,因为我使用 nextLine() 逐行读取。有没有办法可以将整个地址作为输入并在文本文件中搜索。
我有一个包含很多内容的文本文件。我找到了如何在文本文件中搜索单词的方法。但是我有一个地址需要搜索,你们都知道一个地址有多行(可以认为是一个段落),问题就来了。
如何将整个地址作为搜索输入?当我只给出一行地址时,我能够在文本文件中找到字符串,因为我使用 nextLine() 逐行读取。有没有办法可以将整个地址作为输入并在文本文件中搜索。
您可以将整个文件读入一个字符串,然后尝试在该文件字符串中找到您的多行地址字符串。这是有效的,因为您不必执行许多文件 I/O 操作,并且它会起作用,因为String.indexOf(String)可以找到其中包含换行符的字符串。
是的,你可以试试@Oleksi 所说的!但是我建议使用 aStringBuffer
而不是String
.
像下面这样的东西应该工作......
BufferedReader br = new BufferedReader(new FileReader(new File("D:/Shashank/random.txt")));
StringBuffer sb = new StringBuffer("");
String address = "line1\nline2\nline3";
while(br.ready())
{
sb.append(br.readLine());
sb.append("\n");
}
if(sb.indexOf(address)>=0)
{
System.out.println("Address found");
}