2012-04-10 64 views
0

我有一个文本文件,其中包含大量内容。我找到了如何在文本文件中搜索单词的方法。但是我有一个地址必须被搜索,并且你们都知道一个地址有多行(可以被认为是一个段落),当问题出现的时候就是这样。如何使用java在文本文件中搜索特定段落

如何将整个地址作为搜索输入?当我只给出一行地址时,我能够在文本文件中找到字符串,因为我使用nextLine(),它逐行读取。有没有一种方法可以将整个地址作为输入并在文本文件中进行搜索。

回答

1

是的,你可以试试@Oleksi说的。不过,我会建议使用StringBuffer而不是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"); 
     } 
+0

非常感谢你:) – Tom 2012-04-10 06:58:12

1

您可以将整个文件读入一个字符串,然后尝试在该文件字符串中找到您的多行地址字符串。这是非常高效的,因为您不必执行许多文件I/O操作,并且它将起作用,因为String.indexOf(String)可以在其中查找带有换行符的字符串。

相关问题