入出力(java.io) 3章 その他の入出力クラス
- 3.1. java.io.PrintWriter
- 3.2. java.io.PrintStream
- 3.3. java.lang.System.in
- 3.4. その他の入出力ソースを取り扱うクラス
3.3. java.lang.System.in
「System」クラスには標準入力を取り扱うためのクラス変数「in」があります。この変数は「InputStream」のインスタンスですので、このクラスのメソッドを利用してデータの読み取りを行う事ができます。実際には標準入力はキーボードで、文字を入力することが多いので以下のように使用するのが一般的です。
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in)); String line=reader.readLine();
(実習課題3)
以下のプログラムを作成しなさい。
- キーボードから複数の数字を読み取り、その数字をソーティングした結果をコンソールに表示するプログラム。
3.4. その他の入出力ソースを取り扱うクラス
標準入出力は「System」クラスのクラス変数を利用して行います。それ以外の入出力ソースを取り扱うクラスには次のようなものがあります。
java.io.ByteArrayInputStream java.io.ByteArrayOutputStream |
byte型配列に対する入出力ストリームを提供する。 |
java.io.CharArrayReader java.io.CharArrayWriter |
char型配列に対する入出力ストリームを提供する。 |
java.io.StringReader java.io.StringWriter |
Stringクラスのインスタンスに対する入出力ストリームを提供する。 |
java.net.Socket | ネットワークで、ソケットを取り扱う。「getInputStream」メソッドで入力ストリームを、「getOutputStream」メソッドで出力ストリームを提供する。 |
java.net.HttpURLConnection | HTTP接続を取り扱う。「getInputStream」メソッドで入力ストリームを提供する。 |
java.audio.sampled.AudioInputStream | オーディオデバイスからの入力ストリームを取り扱う。 |
どのクラスでも基本的な使用法は同じです。基礎を抑えておけば、プログラムとして同じように取り扱う事ができるでしょう。
(実習課題4)
実習課題3のプログラムを改良しなさい。
- 結果の出力先を、コンソール・指定したファイルに切り替えられるようにしなさい。
- 出力先の指定はプログラム実行時の引数で指定する事。