Javaサンプルコード辞典

PrintWriter,BufferedWriter - テキストファイルに文字列を出力する

テキストファイルに文字列を出力するサンプルコードです。テキストファイルの出力ストリーム「FileWriter」をバッファ機能を持つ「BufferedWriter」と文字列の出力に便利なメソッドを持つ「PrintWriter」でデコレートして出力を行います。

テキストファイルへの出力には「FileWriter」を使用しますが、「FileWriter」のwrite()は呼び出される毎にファイルアクセスが発生するため効率が悪くなります。通常はそれを回避するために、「BufferedWriter」で「FileWriter」をデコレートします。文字列の出力処理は「BufferedWriter」をデコレートする「PrintWriter」のprintln()で行っています。println()は引数で指定された文字列の最後に改行コードを付加して出力します。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

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

      public static void main(String[] args) {
            
            System.out.println("--処理開始--");
            
            //コマンドライン引数が入力されているかチェックを行う
            if(args.length == 0)
            {
                  System.out.println("コマンドライン引数を指定してください");
                  return;
            }
            //finallyブロックからリソースを開放できるようにtryブロックの外で変数を宣言
            PrintWriter pw = null;
            
            try
            {
                  //文字列の出力に便利な「PrintWriter」を使用する。
                  //効率よく処理を行えるように「BufferedWriter」でデコレートする。
                  //PrintWriterのコンストラクタの第2引数にtrueを指定するとprintln()呼び出し時に自動フラッシュされる。
                  //FileWriterのコンストラクタの引数には出力先ファイルのパスを指定する。
                  pw = new PrintWriter(new BufferedWriter(new FileWriter(args[0])));
                  
                  pw.println("テキスト出力サンプル1行目"); //対象文字列を出力して改行
                  pw.println("テキスト出力サンプル2行目");
                  pw.println("テキスト出力サンプル3行目");
                  
            }
            //入出力例外が発生した場合
            catch(IOException e)
            {
                  System.out.println(e);
            }
            //その他例外が発生した場合
            catch(Exception e)
            {
                  System.out.println(e);
            }
            finally
            {
                  //例外発生時にも確実にリソースが開放されるように
                  //close()の呼び出しはfinallyブロックで行う。
                  if(pw != null)
                  {
                        try
                        {
                              pw.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 編