我有一個文本文件,其中包含大量內容。我找到了如何在文本文件中搜索單詞的方法。但是我有一個地址必須被搜索,並且你們都知道一個地址有多行(可以被認爲是一個段落),當問題出現的時候就是這樣。如何使用java在文本文件中搜索特定段落
如何將整個地址作爲搜索輸入?當我只給出一行地址時,我能夠在文本文件中找到字符串,因爲我使用nextLine(),它逐行讀取。有沒有一種方法可以將整個地址作爲輸入並在文本文件中進行搜索。
我有一個文本文件,其中包含大量內容。我找到了如何在文本文件中搜索單詞的方法。但是我有一個地址必須被搜索,並且你們都知道一個地址有多行(可以被認爲是一個段落),當問題出現的時候就是這樣。如何使用java在文本文件中搜索特定段落
如何將整個地址作爲搜索輸入?當我只給出一行地址時,我能夠在文本文件中找到字符串,因爲我使用nextLine(),它逐行讀取。有沒有一種方法可以將整個地址作爲輸入並在文本文件中進行搜索。
是的,你可以試試@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");
}
您可以將整個文件讀入一個字符串,然後嘗試在該文件字符串中找到您的多行地址字符串。這是非常高效的,因爲您不必執行許多文件I/O操作,並且它將起作用,因爲String.indexOf(String)可以在其中查找帶有換行符的字符串。
非常感謝你:) – Tom 2012-04-10 06:58:12