2017-11-19 5 views
1

コンソールコマンドjava program < doc.txtを使用して.txtドキュメント内のテキストを読み込もうとしています。プログラムは、ファイル内の単語を探す必要があり、ファイルが空の新しい行を含めることができますので、私はからwhile条件を変更しようとしました:それはときに停止することファイルの読み取り中に新しい行を無視する

while((s = in.nextLine()) != "-1") 

while((s = in.nextLine()) != null) 

-1(私も.equals()と試してみました)が見つかりましたが、動作しません。調べるテキストがなくなったときに、単語の検索を停止するようにプログラムに指示するにはどうすればよいですか?それ以外の場合は、空の文字列(改行のみ、または改行の列)が見つかると停止し続けます。

BufferedReaderを使用して解決策が見つかっただけですが、コンソールコマンドjava program < doc.txtによってファイルが読み取られているこの状況での使用方法はわかりません。

ことが必要になることがあれば、私は、しばらくの内側にコードを投稿する:入力のうちScannerランがhasNextLine()状態をチェックしているとき考え出すの

while((s = in.nextLine()) != null) { 
    s = s.toLowerCase(); 
    Scanner line = new Scanner(s); 
    a = line.next(); 
    if(a.equals("word")) { 
     k++; 
    } 
} 

答えて

3

適切な方法。空行を含んでいる一連の文字列を読み取るために、このループを使用します。

Scanner in = new Scanner(System.in); 
while(in.hasNextLine()) { 
    String s = in.nextLine(); 
    System.out.println(s); 
} 

Demo.

+0

はどうもありがとうございました – dulindraxe

関連する問題