LoginSignup
1
2

More than 5 years have passed since last update.

Javaを使ってディレクトリの階層構造をツリー形式で表示する

Last updated at Posted at 2016-07-11

Javaを使ってディレクトリの階層構造をツリー形式で表示する
by @ukiuki

昔に自分も作ったことがあるので、Gistにソースを入れました。

Tree.java

オプションで出力内容を設定できます。

    /**
     * ディレクトリ階層を出力します。
     * @param path 処理対象のディレクトリ
     * @param depth 階層数(0の場合は、すべて)
     * @param containsFile ファイルも出力するかどうか
     * @param outputPath 出力先ファイル(nullの場合は標準出力)
     * @throws IOException ファイルI/Oに問題が発生した場合
     */
    public static void tree(String path, int depth, boolean containsFile, String outputPath) throws IOException

Windows以外のOSでファイル名がソートされない場合があるかもしれないので、次のように処理しています。

  1. FileVisitorではすぐ出力せずに、一旦ノード構造を構築し
  2. Collections.sort()で、ノード構造をファイル名でソートしてから
  3. printOut()でノード構造を再帰的に出力する
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2