2012-04-10 17 views
0

私はそれに多くの内容のテキストファイルを持っています。テキストファイルで単語を検索する方法を見つけました。しかし、私は検索しなければならないアドレスがあります。アドレスには複数の行(段落と見なすことができます)と問題が発生したときにそれを知っています。javaを使用してテキストファイル内の特定の段落を検索する方法

検索のための入力として全体のアドレスを与えるにはどうすればよいですか?私はアドレスの行を1つだけ与えるとき、私は行ごとに読み込むnextLine()を使用するので、私はテキストファイル内の文字列を見つけることができます。私は入力として全体のアドレスを与えることができ、テキストファイルでそれを検索する方法はありますか?

答えて

1

はい、@Oleksiが言ったことを試すことができます。しかし、Stringの代わりにStringBufferを使用するようにアドバイスします。以下のような

何かが動作するはずです...

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

1

ファイル全体を文字列に読み込み、そのファイル文字列内に複数行のアドレス文字列を見つけることができます。多くのファイルI/O操作を実行する必要がないため、String.indexOf(String)という改行文字で文字列を検索することができるので、効率的です。

関連する問題