入力ファイル→コンソール出力(行単位)

BufferedReader を使って TEXT FILE から行単位で入力します。

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

プログラムの作成

  1. メモ帳などでタイプして BufRead.java の名前で保存して下さい。
    //★ BufferedReader でファイルを入力する  前田 稔
    import java.io.*;
    
    class BufRead
    {   public static void main(String args[])
        {   try
            {   File file = new File("c:\\tmp\\test.txt");
                if (checkBeforeReadfile(file))
                {   BufferedReader br = new BufferedReader(new FileReader(file));
                    String str;
                    while((str = br.readLine()) != null)
                    {   System.out.println(str);
                    }
                    br.close();
                }
                else
                {   System.out.println("ファイルが見つからないか開けません");  }
            }
            catch(FileNotFoundException e)
            {   System.out.println(e);  }
            catch(IOException e)
            {   System.out.println(e);  }
        }
    
        private static boolean checkBeforeReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
    }
    
  2. "c:\tmp\test.txt" に TEXT 形式のファイルを格納して下さい。
    test.txt 以外でも TEXT 形式のファイルであれば何でもかまいません。
    "c:\tmp\test.txt" 以外を使うときは、プログラムを修正して下さい。
    文字列の中で「\」を使うときは「\\」と書きます。

プログラムの説明

  1. import java.io.* をインポートします。
        import java.io.*;
        class BufRead
        {
        
  2. try で TEXT FILE を入力します。
    new File("c:\\tmp\\test.txt") で File を生成します。
    次に checkBeforeReadfile() を使って事前にファイルをチェックしています。
    new BufferedReader(new FileReader(file)) で BufferedReader を生成します。
    while((str = br.readLine()) != null) で一行ずつ入力します。
        public static void main(String args[])
        {   try
            {   File file = new File("c:\\tmp\\test.txt");
                if (checkBeforeReadfile(file))
                {   BufferedReader br = new BufferedReader(new FileReader(file));
                    String str;
                    while((str = br.readLine()) != null)
                    {   System.out.println(str);
                    }
                    br.close();
                }
                else
                {   System.out.println("ファイルが見つからないか開けません");  }
            }
        
  3. catch でコンソール入力が失敗したときの処理を記述します。
    詳細は TEXT FILE を入力する を参照して下さい。
  4. 事前にファイルをチェックする checkBeforeReadfile() メソッドです。
    file.exists() でファイルの存在を確認します。
    file.isFile() で File が生成されたことを確認します。
    file.canRead() で File が入力出来ることを確認します。
        private static boolean checkBeforeReadfile(File file)
        {   if (file.exists())
            {   if (file.isFile() && file.canRead())
                {   return true;  }
            }
            return false;
        }
        

文字コードを指定する

日本で使われている Windows の標準的な文字コードは Shift_JIS ですが、最近では EUC コードも使われるようになって来ました。
TEXT FILE で文字コードを設定するときは次のようにします。
最初のプログラムです。
BufferedReader br =
    new BufferedReader(new FileReader(file));
Shift_JIS に設定します。
BufferedReader br =
    new BufferedReader(new InputStreamReader(new FileInputStream(file),"Shift_JIS"));
EUC_JP に設定します。
BufferedReader br =
    new BufferedReader(new InputStreamReader(new FileInputStream(file),"EUC_JP"));
文字コードを自動判定します。
BufferedReader br =
    new BufferedReader(new InputStreamReader(new FileInputStream(file),"JISAutoDetect"));

Javaエンコード名 対応する文字コード
ISO-2022-JP, ISO2022JP JISコード(ISO-2022-JP)
Shift_JIS, SJIS シフトJISコード(Shift_JIS)
EUC-JP, EUC_JP 日本語EUCコード(EUC-JP)
UTF-8 Unicode(UTF-8)
UTF-16 Unicode(UTF-16)
JISAutoDetect 文字コードの自動判定(Readerクラスのみ利用可)

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