入力ファイル→出力ファイル(行単位)

入力ファイルから1行単位で入力して、出力ファイルに書き出します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして BufferIO.java の名前で保存して下さい。
    //★ 入力ファイル→出力ファイル(1行単位)    前田 稔
    import java.io.*;
    
    public class BufferIO
    {
        public static void main(String[] args) throws IOException
        {   // 入力ファイルの準備
            File infile = new File("c:\\tmp\\test.txt");
            if (!checkReadfile(infile))
            {   System.out.println("入力ファイル エラー");
                System.exit(1);
            }
            BufferedReader inbuf = new BufferedReader(new FileReader(infile));
            // 出力ファイルの準備
            File outfile = new File("c:\\tmp\\work.txt");
            BufferedWriter outbuf = new BufferedWriter(new FileWriter(outfile));
            String str;
            while((str = inbuf.readLine()) != null)
            {   str= str + "\n";
                outbuf.write(str);
            }
            inbuf.close();
            outbuf.close();
        }
        // ファイルのチェック
        private static boolean checkReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
    }
    
  2. "c:\tmp\test.txt" を入力して "c:\tmp\work.txt" に出力しています。
    事前に "c:\tmp\" のフォルダーを作成して、"c:\tmp\test.txt" のファイルを準備して下さい。
    "c:\tmp\test.txt" は TEXT 形式のファイルであれば何でもかまいません。
    実行が終わると "c:\tmp\work.txt" に入力ファイルの内容が書き出されます。
    指定されたファイル以外を使うときは、プログラムを修正して下さい。

プログラムの説明

  1. 1行単位で入力する方法は TEXT FILE から行単位で入力する を参照して下さい。
    new File("c:\\tmp\\work.txt") で出力 File を生成します。
    new BufferedWriter(new FileWriter(outfile)) で BufferedWriter に設定します。
    出力ファイル(work.txt) が存在しない場合は、新しいファイルが作成されます。
        public static void main(String[] args) throws IOException
        {   // 入力ファイルの準備
            File infile = new File("c:\\tmp\\test.txt");
            if (!checkReadfile(infile))
            {   System.out.println("入力ファイル エラー");
                System.exit(1);
            }
            BufferedReader inbuf = new BufferedReader(new FileReader(infile));
            // 出力ファイルの準備
            File outfile = new File("c:\\tmp\\work.txt");
            BufferedWriter outbuf = new BufferedWriter(new FileWriter(outfile));
            String str;
        
  2. inbuf.readLine() で1行ずつ入力します。
    str には改行コードが格納されないので \n を追加します。
    outbuf.write(str) で出力ファイルに書き出します。
        while((str = inbuf.readLine()) != null)
        {   str= str + "\n";
            outbuf.write(str);
        }
        inbuf.close();
        outbuf.close();
        
  3. ファイルをチェックするメソッドです。
        // ファイルのチェック
        private static boolean checkReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
        

超初心者のプログラム入門(Java2)