JavaA2Z

KAB-studio > プログラミング > JavaA2Z > PrintStreamとは

PrintStream

日本語 書き込みストリーム
英語 print stream
ふりがな ぷりんとすとりーむ
フリガナ プリントストリーム

解説

J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名java.io.PrintStream。
ストリームクラスFilterOutputStreamクラスサブクラスであり、バイト出力ストリームクラスである。
バイト出力ストリームクラスの中では「出力用」に位置する。
対になる入力側のクラスは存在しない。
 
バイト出力ストリームの「出力用」クラス
「出力用」→「中継ぎ」→「出力先」という連携の中で、「出力用」、つまりプログラムから直接メソッドを呼ばれる側に位置する。
超有名メソッドであるprintln()メソッド及びprint()メソッドを持ち、直接プリミティブ型文字列を渡すことで、それをbyte配列へと変換し、バイトストリームとして「中継ぎ」もしくは「出力先」のバイト出力ストリームクラスへと出力する。
この「プリミティブ型文字列バイトストリームへ変換する」のがこのクラスの使用目的である。他のバイト出力ストリームクラスはwrite()メソッドbyteとしてしか出力できないが、このクラスを用いれば通常のをそのまま渡して出力することができるわけである。
 
PrintStreamクラスコンストラクタに他のOutputStreamクラスサブクラスを渡すことで、そのクラスを「出力先」として出力する。
PrintStreamクラスprintln()メソッド及びprint()メソッドで出力する。このメソッドは各種プリミティブ型StringクラスObjectクラスオーバーロードされているため、あらゆるを渡すことができる。プリミティブ型文字列化したものを、ObjectクラスtoString()メソッド戻り値を、byte配列へと変換し、「出力先」のwrite()メソッド呼び出して出力する。
処理終了後はclose()メソッドを呼び終了処理をう。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        ByteArrayOutputStream byteArrayOutputStream = null;
        PrintStream printStream = null;
        try
        {
            // 出力先となるByteArrayOutputStreamクラスを作ります。
            byteArrayOutputStream = new ByteArrayOutputStream();

            // このクラスを対象とするPrintStreamクラスを用意します。
            printStream = new PrintStream( byteArrayOutputStream );

            // 出力します。
            printStream.println( "ABC" );
            printStream.println( 100 );

            // 書き込まれたバイトデータをbyte型配列として取得します。
            byte[] bytes = byteArrayOutputStream.toByteArray();
            forint iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                // 出力します。
                System.out.println( "0x" + Integer.toHexString( bytes[iF1] ) + " ( " + bytes[iF1] + " )" );
            }
            // 0x41 ( 65 )  // A
            // 0x42 ( 66 )  // B
            // 0x43 ( 67 )  // C
            // 0xd ( 13 )   // \r
            // 0xa ( 10 )   // \n
            // 0x31 ( 49 )  // 1
            // 0x30 ( 48 )  // 0
            // 0x30 ( 48 )  // 0
            // 0xd ( 13 )   // \r
            // 0xa ( 10 )   // \n

            // このように、println()メソッドで渡された文字列や値を、
            // 文字列化して改行文字を追加して、出力先の
            // バイト出力ストリームに出力します。
        }
        finally
        {
            // 処理が終わったら、最後にclose()メソッドを呼んで
            // 後処理をします。また、これは必ず行うため、
            // finally内で行います。
            if( printStream != null )
            {
                printStream.close();
            }

            // 処理が終わったら、最後にclose()メソッドを呼んで
            // 後処理をします。また、これは必ず行うため、
            // finally内で行います。
            try
            {
                if( byteArrayOutputStream != null )
                {
                    byteArrayOutputStream.close();
                }
            }
            catch( IOException e )
            {
                // close()メソッドはIOExceptionがthrows指定されているので
                // 一応受け取ります。
                e.printStackTrace();
            }
        }
    }
}
// Sample.java
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        ByteArrayOutputStream byteArrayOutputStream = null;
        PrintStream printStream = null;
        try
        {
            // 出力先となるByteArrayOutputStreamクラスを作ります。
            byteArrayOutputStream = new ByteArrayOutputStream();

            // このクラスを対象とするPrintStreamクラスを用意します。
            printStream = new PrintStream( byteArrayOutputStream );

            // 出力します。
            printStream.println( "ABC" );
            printStream.println( 100 );

            // 書き込まれたバイトデータをbyte型配列として取得します。
            byte[] bytes = byteArrayOutputStream.toByteArray();
            for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                // 出力します。
                System.out.println( "0x" + Integer.toHexString( bytes[iF1] ) + " ( " + bytes[iF1] + " )" );
            }
            // 0x41 ( 65 )  // A
            // 0x42 ( 66 )  // B
            // 0x43 ( 67 )  // C
            // 0xd ( 13 )   // \r
            // 0xa ( 10 )   // \n
            // 0x31 ( 49 )  // 1
            // 0x30 ( 48 )  // 0
            // 0x30 ( 48 )  // 0
            // 0xd ( 13 )   // \r
            // 0xa ( 10 )   // \n

            // このように、println()メソッドで渡された文字列や値を、
            // 文字列化して改行文字を追加して、出力先の
            // バイト出力ストリームに出力します。
        }
        finally
        {
            // 処理が終わったら、最後にclose()メソッドを呼んで
            // 後処理をします。また、これは必ず行うため、
            // finally内で行います。
            if( printStream != null )
            {
                printStream.close();
            }

            // 処理が終わったら、最後にclose()メソッドを呼んで
            // 後処理をします。また、これは必ず行うため、
            // finally内で行います。
            try
            {
                if( byteArrayOutputStream != null )
                {
                    byteArrayOutputStream.close();
                }
            }
            catch( IOException e )
            {
                // close()メソッドはIOExceptionがthrows指定されているので
                // 一応受け取ります。
                e.printStackTrace();
            }
        }
    }
}

この単語を含むページ

「みだし」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/11/10
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。