標準入力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) |