如何使用java在文本文件中搜索特定段落

时间:2012-04-10 05:20:19

标签: java

我有一个包含大量内容的文本文件。我找到了如何在文本文件中搜索单词的方法。但是我有一个必须搜索的地址,你们都知道一个地址有多行(可以看作段落),那就是问题出现的时候。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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");
        }