2012-04-10 61 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)可以在其中查找帶有換行符的字符串。

相關問題