Javaサンプルコード辞典

BufferedReader - テキストファイルから文字列を読む

テキストファイルから文字列を読込んで標準出力に表示するサンプルコードです。テキストファイルの入力ストリーム「FileReader」をバッファ機能を持つ「BufferedReader」でデコレートして読込みを行います。

テキストファイルからの入力には「FileReader」を使用しますが、「FileReader」のread()は呼び出される毎にファイルアクセスが発生するため効率が悪くなります。通常はそれを回避するために、「BufferedReader」で「FileReader」をデコレートします。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

//コマンドライン引数で指定されたテキストファイルから文字列を読み込んで、標準出力に出力する。
//コマンドライン引数は読み込み対象のファイルのパス(例:c:\\dev\\test.txt)
public class TextFileReader {

      public static void main(String[] args) {
            
            System.out.println("--処理開始--");
            
            //コマンドライン引数が入力されているかチェックを行う
            if(args.length == 0)
            {
                  System.out.println("コマンドライン引数を指定してください");
                  return;
            }
            //finallyブロックからリソースを開放できるようにtryブロックの外で変数を宣言
            BufferedReader br = null;
            
            try
            {
                  //効率よく処理を行えるように「BufferedReader」でデコレートする。
                  //FileReaderのコンストラクタの引数には入力ファイルのパスを指定する。
                  br = new BufferedReader(new FileReader(args[0]));
                  
                  String line = null;
                  
                  //一行ずつ読み込む。
                  //readLine()がnullを返却した時点でEOFと判断し、ループを抜ける。
                  while( (line = br.readLine()) != null)
                  {
                        System.out.println(line);
                  }
                  
            }
            //読み込み対象ファイルが存在しなかった場合
            catch(FileNotFoundException e)
            {
                  System.out.println(e);
            }
            //入出力エラー()が発生した場合
            catch(IOException e)
            {
                  System.out.println(e);
            }
            //その他例外が発生した場合
            catch(Exception e)
            {
                  System.out.println(e);
            }
            finally
            {
                  //例外発生時にも確実にリソースが開放されるように
                  //close()の呼び出しはfinallyブロックで行う。
                  if(br != null)
                  {
                        try
                        {
                              br.close();
                        }
                        catch(Exception e){ System.out.println(e); }
                  }
            }
            
            System.out.println("--処理終了--");
      }
}

(2007年11月2日)  

 ちょっと一休み. Javaキーワード並び替えゲーム

画面に表示される文字列を並び替えるとJavaに関連するキーワードになります。ヒントをたよりに並び替えを行ってエンターを押してください。 ユーザ登録をしてログインするとランキングに参加できます。
Flex Tips

DWRでリッチなWebページを作る!

Java Tips  java.io 編

Java Tips  java.lang 編