如何使用 Java 显示目录中的所有目录
问题描述
如何显示目录中的所有目录?
解决方案
以下示例显示如何使用 File 类的列表方法制作过滤器来显示目录中包含的所有目录。
import java.io.*; public class Main { public static void main(String[] args) { File dir = new File("F:"); File[] files = dir.listFiles(); FileFilter fileFilter = new FileFilter() { public boolean accept(File file) { return file.isDirectory(); } }; files = dir.listFiles(fileFilter); System.out.println(files.length); if (files.length == 0) { System.out.println("Either dir does not exist or is not a directory"); } else { for (int i = 0; i< files.length; i++) { File filename = files[i]; System.out.println(filename.toString()); } } } }
结果
上述代码示例将产生以下结果。
14 F:\C Drive Data Old HDD F:\Desktop1 F:\harsh F:\hharsh final F:\hhhh F:\mov F:\msdownld.tmp F:\New Folder F: avi F: avi3 F:\RECYCLER F:\System Volume Information F: emp F:\work
下面是另一个使用 Java 显示目录中所有目录的示例
import java.io.File; import java.io.IOException; public class FileDisplay { public static void main(String[] args) { File currentDir = new File("."); displayDirectoryContents(currentDir); } public static void displayDirectoryContents(File dir) { try { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { System.out.println("directory:" + file.getCanonicalPath()); displayDirectoryContents(file); } else { System.out.println(" file:" + file.getCanonicalPath()); } } } catch (IOException e) { e.printStackTrace(); } } }
上述代码示例将产生以下结果。
file:/web/com/1481172458_94270/FileDisplay.java file:/web/com/1481172458_94270/FileDisplay.class
java_directories.html