Javaexamples-dir-hierarchy

提供:Dev Guides
移動先:案内検索

Javaの例-ディレクトリ階層

問題の説明

ディレクトリの階層を印刷するには?

溶液

次の例は、Fileクラスのfile.getName()およびfile.listFiles()メソッドを使用して、指定されたディレクトリの階層を印刷する方法を示しています。

import java.io.File;
import java.io.IOException;

public class FileUtil {
   public static void main(String[] a)throws IOException{
      showDir(1, new File("d:\\Java"));
   }
   static void showDir(int indent, File file) throws IOException {
      for (int i = 0; i < indent; i++) System.out.print('-');
      System.out.println(file.getName());
      if (file.isDirectory()) {
         File[] files = file.listFiles();
         for (int i = 0; i < files.length; i++)showDir(indent + 4, files[i]);
      }
   }
}

結果

上記のコードサンプルは、次の結果を生成します。

-Java
-----codes
---------string.txt
---------array.txt
-----tutorial

以下は、Javaのディレクトリ階層の別のサンプル例です。

import java.io.File;
import java.io.IOException;

public class FileUtil {
   public static void main(String[] a)throws IOException {
      showDir(1, new File("C:\\Users\\finddevguides7\\Desktop"));
   }
   static void showDir(int indent, File file) throws IOException {
      for (int i = 0; i < indent; i++)System.out.print('-');
      System.out.println(file.getName());

      if (file.isDirectory()) {
         File[] files = file.listFiles();
         for (int i = 0; i < files.length; i++)showDir(indent + 4, files[i]);
      }
   }
}

上記のコードサンプルは、次の結果を生成します。

-Desktop
-----abc.png
-----abc.txt
-----bbc.txt
-----Custom CSS.txt
-----desktop.ini