2017-05-16 13 views
0

出力を印刷するための効率的な方法を探していましたが、thisという記事が見つかりました。私のコードで何も印刷されないのはなぜですか?

しかし、次のコードを使用してテストしましたが、出力は表示されません。

import java.io.OutputStreamWriter; 
import java.io.BufferedWriter; 
import java.io.IOException; 
class NewClass { 
    public static void main(String args[]) throws Exception { 
     Printy p=new Printy(); 
     p.printLine("JAVA"); 
    } 
} 

class Printy 
{ 
    private final BufferedWriter bw; 
    public Printy() 
    { 
     bw=new BufferedWriter(new OutputStreamWriter(System.out)); 
    } 
    public void print(String str)throws IOException 
    { 
     bw.append(str); 
    } 
    public void printLine(String str)throws IOException 
    { 
     print(str); 
     bw.append("\n"); 
    } 
    public void close()throws IOException 
    { 
     bw.close(); 
    } 
} 

正しく実装するにはどうすればよいですか。

+4

追加の後に 'flush'を追加してみてください。改行を追加しないと、たくさんのテキスト(afaik)をプッシュしない限り、バッファは自動的にクリアされません。 – Carcigenicate

+1

バッファリングを追加してから、バッファを一度フラッシュしませんでした。 – user2357112

+0

@Carcigenicateありがとう!出来た。 –

答えて

2

あなたはバッファーをflushにする必要があります。そうでなければ、テキストはバッファーに置かれ、印刷されません。

テキストを追加した後にflushに電話をかける。

関連する問題