2013-12-21 6 views
7

これら2つの違いはありますか?あなたはいつ他のものを使いますか?System.out.println対PrintWriter

System.out.println(result); 

OR

PrintWriter out = new PrintWriter(System.out); 
    out.println(result); 
    out.flush(); 
+0

1つはPringStreamで、もう1つはPrintWriterです。 PrintStreamは、エンコーディングの柔軟性を高めることができます。私はいくつかのシステムエンコーディングが使用されていると推測していますが、わかりません。 –

+2

'System.out'は[PrintStream](http://docs.oracle.com/javase/7/docs/api/java/io/PrintStream.html)であり、' PrintWriter'は... [PrintWriter] (http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html) –

答えて

7

に質問を投稿する前にいくつかの研究を行います。 PrintStreamは、バイトののストリームを書き込むことを意味し、PrintWriterは、の文字のストリームを書き込むことを意図していました(したがって、文字エンコーディングなどを扱います)。ほとんどの使用例では、違いはありません。

4

System.outPrintStream

のインスタンスであるので、あなたの質問はPrintStreamによって印刷されたすべての文字が変換されPrintWriter

  • PrintStreamに絞り込みますプラットフォームのデフォルト文字エンコーディングを使用してバイトに変換します。 (システム出力/コンソールに直接書き出す)

  • PrintWriterクラスは、バイトではなく文字を書く必要がある状況で使用する必要があります。

  • は差がSystem.outPrintStreamで、もう一つはPrintWriterであるということであるSO

0

はい、多少の違いがあります。 out.println()は短く、JSPで使用され、PrintWriterはサーブレットで使用されます。 out.println()もPrintWriterから派生しています。

関連する問題