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

入力ファイルから1文字ずつ入力して、出力ファイルに書き出します。

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

プログラムの作成

  1. メモ帳などでタイプして FileIO.java の名前で保存して下さい。
    //★ 入力ファイル→出力ファイル(1文字ずつ)    前田 稔
    import java.io.*;
    
    public class FileIO
    {
        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);
            }
            FileReader filereader = new FileReader(infile);
            // 出力ファイルの準備
            File outfile = new File("c:\\tmp\\work.txt");
            FileWriter filewriter = new FileWriter(outfile);
            // 入力→出力
            int ch;
            while((ch = filereader.read()) != -1)
            {   filewriter.write(ch);
            }
            // ファイルのクローズ
            filereader.close();
            filewriter.close();
        }
        // ファイルのチェック
        private static boolean checkReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
        private static boolean checkWritefile(File file)
        {   if (file.exists())
            {
                 if (file.isFile() && file.canWrite())
                 {   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. TEXT FILE から入力する方法は TEXT FILE を入力する を参照して下さい。
    checkReadfile() で入力ファイルをチェックします。
    new File() で File を生成して、new FileWriter() で FileWriter に設定します。
    出力ファイル(work.txt) が存在しない場合は、新しいファイルが作成されます。
    checkWritefile() でチェックすると work.txt が存在しないとエラーになります。
        public static void main(String[] args) throws IOException
        {   // 入力ファイルの準備
            File infile = new File("c:\\tmp\\test.txt");
            if (!checkBeforeReadfile(infile))
            {   System.out.println("入力ファイル エラー");
                System.exit(1);
            }
            FileReader filereader = new FileReader(infile);
            // 出力ファイルの準備
            File outfile = new File("c:\\tmp\\work.txt");
            FileWriter filewriter = new FileWriter(outfile);
        
  2. filereader.read() で1文字ずつ入力して、filewriter.write(ch) で書き出します。
        // 入力→出力
        int ch;
        while((ch = filereader.read()) != -1)
        {   filewriter.write(ch);
        }
        // ファイルのクローズ
        filereader.close();
        filewriter.close();
        
  3. ファイルをチェックするメソッドです。
    出力ファイルをチェックすると、ファイルが存在しないとエラーになります。
        // ファイルのチェック
        private static boolean checkReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
        private static boolean checkWritefile(File file)
        {   if (file.exists())
            {
                 if (file.isFile() && file.canWrite())
                 {   return true;  }
            }
            return false;
        }
        

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