標準入力System.inはInputStream型であり,プログラムの開始時点において(可能なら)既に用意されています.それで我々は,とくに準備をしなくても,いきなり“System.in.read()”といったぐあいにして使用することができます.
ファイルからの入力の場合はそうはゆきませんので,ファイルを(読み取り用として)準備する必要があります. これにはFileInputStreamというクラスを用います.
まず例を見てみましょう.
import java.io.*; // ファイル入出力をするために必要です.
class ShowFile{
public static void main(String argv[]){
int c = 0;
try{ // このプログラム自身を見てみます.
FileInputStream fin = new FileInputStream("ShowFile.java");
c = fin.read ();
while(c != -1){ // -1はファイルの終了の印です.
System.out.print((char)c);
c = fin.read ();
}
fin.close(); // 入力終了(close)です.
}catch (FileNotFoundException e){
System.err.println(e); // ファイルがない(開けない)場合の処理
}catch(IOException e){
System.err.println(e); // 何らかの入力異常時の処理
}
} //end main
} //end class
上の
FileInputStream fin = new FileInputStream("ShowFile.java");
の部分でファイルを開いています.
ファイルを開く際にも,ファイルからデータを読み込む際にも異常が起こる可能性があるので 入力処理の部分は
try{
...
}
で囲んでやります.このプログラムでは
が起きる可能性があるのでcatchで「つかまえて」やります.
| 26.1.8.7 ストリームリーダ |
|
26.1.8.8 ファイルからの入力 |
|
26.1.8.9 ファイルへの出力 |
|
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 10 Mar 2005 05:38:34 JST (1604d) | |||