Javaexamples-dir-sub

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

Javaの例-ディレクトリ内のファイルを表示する

問題の説明

ディレクトリ内のすべてのファイルを表示する方法は?

溶液

次の例は、Fileクラスのlistメソッドを使用して、ディレクトリに含まれるすべてのファイルを表示する方法を示しています。

import java.io.*;

public class Main {
   public static void main(String[] args) {
      File dir = new File("C:");
      String[] children = dir.list();

      if (children == null) {
         System.out.println( "Either dir does not exist or is not a directory");
      } else {
         for (int i = 0; i< children.length; i++) {
            String filename = children[i];
            System.out.println(filename);
         }
      }
   }
}

結果

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

build
build.xml
destnfile
detnfile
filename
manifest.mf
nbproject
outfilename
src
srcfile
test

以下は、ディレクトリ内のすべてのファイルを表示する別の例です。

import java.io.File;

public class ReadFiles {
   public static File folder = new File("C:\\Apache24\\htdocs");
   static String temp = "";

   public static void main(String[] args) {
      System.out.println("Reading files under the folder "+ folder.getAbsolutePath());
      listFilesForFolder(folder);
   }
   public static void listFilesForFolder(final File folder) {
      for (final File fileEntry : folder.listFiles()) {
         if (fileEntry.isDirectory()) {
            listFilesForFolder(fileEntry);
         } else {
            if (fileEntry.isFile()) {
               temp = fileEntry.getName();
               if ((temp.substring(temp.lastIndexOf('.')
                  + 1, temp.length()).toLowerCase()).equals("txt"))System.out.println(
                  "File = " + folder.getAbsolutePath()+ "\\" + fileEntry.getName());
            }
         }
      }
   }
}

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

Reading files under the folder C:\Apache24\htdocs
File= C:\Apache24\htdocs\android\bkp\end.txt
File= C:\Apache24\htdocs\android\end.txt
File= C:\Apache24\htdocs\cpp_standard_library\images\code.txt
File= C:\Apache24\htdocs\java\Java - Data Structures.txt
File= C:\Apache24\htdocs\java\Java - Inheritance.txt
File= C:\Apache24\htdocs\scripts\easyui\changelog.txt