JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 標準入出力とは

標準入出力

日本語 標準入出力
英語 Standard IO
ふりがな ひょうじゅんにゅうしゅつりょく
フリガナ ヒョウジュンニュウシュツリョク

解説

最も原始的な、文字列の入力・出力。
ほとんど全てのOSがサポートしている、プログラムの「入出力機能」。
コンソール等で文字列を入力することでプログラム側は入力された文字列を受け取ることができ、逆にプログラム側から画面へと文字列を出力することができる。
入出力が可能なのはコンソールに限らず、ファイルの中身をそのまま渡したりといった事が可能である。
ただし、そういった「入出力の方法」は実時に選択することになる。たとえば、デーモンやサービスといった方法でプログラムが実された場合、そのままでは標準入出力の窓口となるコンソール等がないため、標準入出力の機能は使用できない。逆に言うと、本番で使用する場合にデーモンやサービスとして実する場合には、標準入出力をデバッグ用に使用できるという意味でもある。
 
標準入出力は以下の3つの総称でもある。
・標準入力
標準出力
標準エラー出力

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

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

// Sample.java
import java.util.ArrayList;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // byteデータを取っておくArrayListを
            // 用意します。
            ArrayList arylst = new ArrayList();
            // とりあえず無限ループ。
            while( true )
            {
                // 標準入力のための変数System.inを使用して
                // 1バイトずつ取得します。
                // ただし、戻り値の型としてはintで来ます。
                int i = System.in.read();
                // 受け取ったデータを格納します。
                arylst.add( new Integer( i ) );
                if( i == '\n' )
                {
                    // 改行が来たら終了。
                    break;
                }
            }

            // ArrayListに入れたものをbyteの配列に変換します。
            byte bytes[] = new byte[arylst.size()];
            forint iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                Integer integer = (Integer)arylst.get( iF1 );
                bytes[iF1] = (byte)integer.intValue();
            }
            // バイト配列を文字列化します。
            String line = new String( bytes );

            // ちなみにここでは最も原始的な方法で取得しています。
            // 実際にはBufferedReaderクラス等を使用した方がいいでしょう。
            // 改行の問題等もあるので。

            // 標準出力のための変数System.outを使用して
            // 標準出力に出力します。
            System.out.println( line );
        }
        catch( IOException e )
        {
            // System.inのクラスInputStreamクラスの
            // read()メソッドはIOExceptionをthrows指定しているので
            // 一応拾っておきます。標準入力ではまず
            // 投げられることはないですが。
            e.printStackTrace();
        }
    }
}
// Sample.java
import java.util.ArrayList;
import java.io.IOException;

public class Sample
{
    public static void main( String[] args )
    {
        try
        {
            // byteデータを取っておくArrayListを
            // 用意します。
            ArrayList arylst = new ArrayList();
            // とりあえず無限ループ。
            while( true )
            {
                // 標準入力のための変数System.inを使用して
                // 1バイトずつ取得します。
                // ただし、戻り値の型としてはintで来ます。
                int i = System.in.read();
                // 受け取ったデータを格納します。
                arylst.add( new Integer( i ) );
                if( i == '\n' )
                {
                    // 改行が来たら終了。
                    break;
                }
            }

            // ArrayListに入れたものをbyteの配列に変換します。
            byte bytes[] = new byte[arylst.size()];
            for( int iF1 = 0; iF1 < bytes.length; ++iF1 )
            {
                Integer integer = (Integer)arylst.get( iF1 );
                bytes[iF1] = (byte)integer.intValue();
            }
            // バイト配列を文字列化します。
            String line = new String( bytes );

            // ちなみにここでは最も原始的な方法で取得しています。
            // 実際にはBufferedReaderクラス等を使用した方がいいでしょう。
            // 改行の問題等もあるので。

            // 標準出力のための変数System.outを使用して
            // 標準出力に出力します。
            System.out.println( line );
        }
        catch( IOException e )
        {
            // System.inのクラスInputStreamクラスの
            // read()メソッドはIOExceptionをthrows指定しているので
            // 一応拾っておきます。標準入力ではまず
            // 投げられることはないですが。
            e.printStackTrace();
        }
    }
}

この単語を含むページ

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

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

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