2011-12-10 4 views
0

キャッチEOF文字に問題があります。eofをキャッチする方法

int y = read(); 
char x = (char) y; 
System.out.println(y); 
return x; 

しかし、私はEOFを取得すると10を返し、ストリームを閉じます。私は準備をしてみましたが、うまくいきません。 :( EDIT にはどうすれば NetBeansのコンソールからSystem.inを読んでいるプログラムにEOFを通知しますか? 私は、他の読者の作品cuzの日食のコンソールにしようとします。日食の EDIT 問題解決作品

+0

'read()'は何をしますか?それは 'BufferedReader'から来ていますか? –

+0

状況を入力してください。あなたはread()を呼び出すオブジェクトは何ですか? – merlin2011

+0

私はBufferedReader、FileReader、InputStreamReaderまたはsth elseを持つことができます。 –

答えて

0

準備()はストリームを読み込むことができるので、それを助けません。次の文字はただEOFになります。

私はあなたが何をしようとしているのかよく分かりませんが、EOFそれをチェックする必要があります。

int y = read(); 
if(-1 == y) { 
    // Handle it however you want 
} 
+0

FileReaderでは動作しますが、InputStreamReader(System.in)では動作しません。それは私がy = 10を得て、それが閉じた後にストリームを得ることができません。私はCTRL + Dを使ってeofを送信します。たぶんこれは問題です。 –

関連する問題