package lecture.fileio;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

import lecture.common.Log;

/**
 * テキストファイルの読み込み-文字コード無指定 Java
 *
 * 文字コード指定をするサンプルは、目次から辿ること
 *
 * 注意事項、文字コードを指定しない場合は、
 * OS標準の文字コード(WindowsであればShiftJis)が前提となるが、
 * ECLIPSE環境では、プロジェクトの文字コードがUTF8の場合、
 * ECLIPSEが手を回して、UTF8のテキストファイルもうまく読込める。
 * しかし、実環境では読み込めない。
 * このようなことがあるので注意すること。
 *
 *
 * 1.FileReaderを生成
 * 2.BufferedReaderを生成
 * 3.forループでBuffferedReaderのreadLineで一行ずつ読込む
 * 4.readLineでnullが戻されたら、全行読み込み終了
 */
class TextFileRead {
  public static void main(String[] args) throws IOException {
    FileReader fr = null;
    BufferedReader br = null;
    try {
      fr = new FileReader("./text-file.txt");
      br = new BufferedReader(fr);
      for (;;) {
        String line = br.readLine();
        if (line == null) {
          break;
        }
        // 必要な処理を行う ⇒ サンプルなので画面に表示するだけ
        Log.print(line);
      }
    }
    catch(Exception ex) {
      ex.printStackTrace();
    }
    finally {
      if (br != null) {
        br.close();
      }
      if (fr != null) {
        fr.close();
      }
    }
  }
}
//---------------------------------------------------
//・目次 - ファイル入出力
//  http://blogs.yahoo.co.jp/artery2020/40607767.html
//・目次 - Java入門
//  http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
//  http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
//  http://blogs.yahoo.co.jp/artery2020/39657784.html
//・目次 - 単なる雑談
//  http://blogs.yahoo.co.jp/artery2020/40599964.html
//---------------------------------------------------