如何使用 Java 只从一个文件夹中获取目录?
ListFiles() 方法返回一个数组,其中包含当前 (File) 对象表示的路径中的所有文件(和目录)的对象(抽象路径)。
File Filter 接口是你可以将它作为参数传递给 listFiles() 方法的路径名的过滤器。此方法过滤传递到传递的过滤器中的文件名。
要获取文件夹中的目录,请实现一个只接受目录的 FileFilter,并将其作为 listFiles() 方法的参数传递。
以下是 ExampleDirectory 的内容的屏幕截图
示例
import java.io.File; import java.io.FileFilter; import java.io.IOException; public class MyExample{ public static void main(String args[]) throws IOException { //Creating a File object for directory File directoryPath = new File("D:\ExampleDirectory"); //Creating filter for directories files FileFilter fileFilter = new FileFilter(){ public boolean accept(File dir) { if (dir.isDirectory()) { return true; } else { return false; } } }; File[] list = directoryPath.listFiles(fileFilter); System.out.println("List of the jpeg files in the specified directory:"); for(File fileName : list) { System.out.println(fileName); } } }
输出
List of the jpeg files in the specified directory: D:\ExampleDirectory\sample directory1 D:\ExampleDirectory\sample directory2 D:\ExampleDirectory\sample directory3 D:\ExampleDirectory\sample directory4
示例
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.stream.Stream; public class ListOfFiles { public static void main(String[] args) throws IOException { Stream<Path> path = Files.walk(Paths.get("D:\ExampleDirectory")); path = path.filter(Files::isDirectory); path.forEach(System.out::println); } }
输出
D:\ExampleDirectory D:\ExampleDirectory\sample directory1 D:\ExampleDirectory\sample directory2 D:\ExampleDirectory\sample directory3 D:\ExampleDirectory\sample directory4
广告