在Java程式中,如何顯示目錄中的所有目錄?
以下示例顯示如何顯示一個目錄中包含的所有目錄,為File
類的list()
方法創建一個篩檢程式。
package com.zaixian;
import java.io.*;
public class DisplayDirectories {
public static void main(String[] args) {
File dir = new File("F:\\worksp\\javaexamples\\java_directories");
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 +" directories found.");
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());
}
}
}
}
執行上面示例代碼,得到以下結果 -
3 directories found.
F:\worksp\javaexamples\java_directories\bin
F:\worksp\javaexamples\java_directories\dir11
F:\worksp\javaexamples\java_directories\src
示例-2
以下是在Java中顯示一個目錄中的所有目錄的另一個示例 -
package com.zaixian;
import java.io.File;
import java.io.IOException;
public class DisplayDirectories2 {
public static void main(String[] args) {
File currentDir = new File("F:\\worksp\\javaexamples\\java_directories\\src");
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();
}
}
}
執行上面示例代碼,得到以下結果 -
--directory:F:\worksp\javaexamples\java_directories\src\com
--directory:F:\worksp\javaexamples\java_directories\src\com\zaixian
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\CreateDirectories.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DeleteDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectoryHierarchy.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectoryHierarchy2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectoryModificationTime.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectoryModificationTime2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectorySize.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DirectorySize2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DisplayDirectories.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DisplayDirectories2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DisplayFilesInDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DisplayFilesInDirectory2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\DisplayRootDirectories.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\EmptyDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\FindCurrentDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\HiddenDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\HiddenDirectory2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\ParentDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\ParentDirectory2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\SearchFileInDirectory.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\SearchingFiles.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\SearchingFiles2.java
----file:F:\worksp\javaexamples\java_directories\src\com\zaixian\TraversingDirectory.java