標準入出力
日本語 | 標準入出力 |
英語 | Standard IO |
ふりがな | ひょうじゅんにゅうしゅつりょく |
フリガナ | ヒョウジュンニュウシュツリョク |
最も原始的な、文字列の入力・出力。
ほとんど全てのOSがサポートしている、プログラムの「入出力機能」。
コンソール等で文字列を入力することでプログラム側は入力された文字列を受け取ることができ、逆にプログラム側から画面へと文字列を出力することができる。
入出力が可能なのはコンソールに限らず、ファイルの中身をそのまま渡したりといった事が可能である。
ただし、そういった「入出力の方法」は実行時に選択することになる。たとえば、デーモンやサービスといった方法でプログラムが実行された場合、そのままでは標準入出力の窓口となるコンソール等がないため、標準入出力の機能は使用できない。逆に言うと、本番で使用する場合にデーモンやサービスとして実行する場合には、標準入出力をデバッグ用に使用できるという意味でもある。
標準入出力は以下の3つの総称でもある。
・標準入力
・標準出力
・標準エラー出力
ほとんど全てのOSがサポートしている、プログラムの「入出力機能」。
コンソール等で文字列を入力することでプログラム側は入力された文字列を受け取ることができ、逆にプログラム側から画面へと文字列を出力することができる。
入出力が可能なのはコンソールに限らず、ファイルの中身をそのまま渡したりといった事が可能である。
ただし、そういった「入出力の方法」は実行時に選択することになる。たとえば、デーモンやサービスといった方法でプログラムが実行された場合、そのままでは標準入出力の窓口となるコンソール等がないため、標準入出力の機能は使用できない。逆に言うと、本番で使用する場合にデーモンやサービスとして実行する場合には、標準入出力をデバッグ用に使用できるという意味でもある。
標準入出力は以下の3つの総称でもある。
・標準入力
・標準出力
・標準エラー出力
// 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();
}
}
}
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();
}
}
}
// 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(); } } }