2010-12-16 11 views
0

私は、特定の単語のインスタンスのテキストファイルをスキャンし、その単語のインスタンスがファイル内の14番目の単語であることがわかったという機能を持つ必要がある小さなJavaアプリケーションを作成しています例えば3行目。このため Javaを使用してファイル内の単語と改行を数えますか?

は、私は、入力が改行(\ n)は文字だったかどうかを確認しだろうと思った次のコードを使用しようとしましたが、その後、私が作成したライン変数incerement:

FileInputStream fileStream = new FileInputStream("src/file.txt"); 
DataInputStream dataStream = new DataInputStream(fileStream); 
BufferedReader buffRead = new BufferedReader(new InputStreamReader(dataStream)); 
String strLine; 
String Sysnewline = System.getProperty("line.separator"); 
CharSequence newLines = Sysnewline; 

int lines = 1; 

while ((strLine = buffRead.readLine()) != null) 
{ 
    if(strLine.contains(newLines)) 
    { 
     System.out.println("Line Found"); 
     lines++; 
    } 
} 
System.out.println("Total Number Of Lines In File: " + lines); 

をこれはうまくいかず、単にこのファイルの最後に0を表示します。私は、コードを少し出力してコードを変更したように、whileループ中にデータがstrLineに配置されていることを知っています。ファイルから各行を正常に取得しています。

上記のコードが機能しない理由を知る人はいますか?

+0

この宿題はありますか?もしそうなら、私たちにこれを知らせてください。 – javamonkey79

答えて

3

javadocs for readLineをお読みください。

戻り値: は任意の行終端文字、またはnullストリームの終わりに達した場合

0

readLine()ストリップ改行を含まない行の内容を含む文字列。ループのすべての反復をインクリメントします。また、あなたのファイルの読み込みコードを複雑にしています。ちょうどnew BufferedReader(new FileReader("src/file.txt"))