package lecture.fileio;

import java.io.File;

import lecture.common.Log;

/**
 *  ディレクトリを再帰的に検索する Java
 */
class DirectorySearchRecurrsively {
  public static void main(String[] args) {
        // カレントディレクトリを指定する
    DirectorySearchRecurrsively prog = new DirectorySearchRecurrsively(".");
    prog.search();
  }
  private String dir;
  private DirectorySearchRecurrsively(String dir) {
    this.dir = dir;
  }
  private void search() {
    File dirFile = new File(dir);
    File[] childFiles = dirFile.listFiles();
    for (File child : childFiles) {
      // 絶対パスを取得する
      String aPath = child.getAbsolutePath();
      Log.print("aPath="+aPath);
      // ディレクトリ?
      if (child.isDirectory()) {
        // yes ディレクトリ
        // ⇒ 再帰的に処理する
        DirectorySearchRecurrsively childProg = new DirectorySearchRecurrsively(aPath);
        childProg.search();
        continue;
      }
      // no ファイル
      // ファイルに対して何らかの処理をする
      // ⇒ サンプルなので何もしない
    }
  }
}
//---------------------------------------------------
//・目次 - ファイル入出力
//  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
//---------------------------------------------------