
The ListFiles()方法返回一个数组,其中包含当前(File)对象表示的路径中所有文件(和目录)的对象(抽象路径)。
File Filter接口是用于过滤可以将其作为参数传递给listFiles()方法的路径名的过滤器。该方法根据传递的过滤器过滤文件名。
要获取文件夹中的隐藏目录,请实现一个只接受隐藏目录的FileFilter,并将其作为参数传递给listFiles()方法。
示例
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Test{
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()&& dir.isHidden()) {
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.getName());
System.out.println(fileName);
}
}
}输出
List of the jpeg files in the specified directory: hidden directory1 D:\ExampleDirectory\hidden directory1 hidden directory2 D:\ExampleDirectory\hidden directory2
我们还可以使用Files类的isHidden()方法获取隐藏文件的列表 −
立即学习“Java免费学习笔记(深入)”;
示例
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.stream.Stream;
public class Demo {
public static void main(String[] args) throws IOException {
File dir = new File("D:\ExampleDirectory");
File[] files = dir.listFiles(File::isHidden);
Stream fileStream = Arrays.stream(files);
fileStream.forEach(file -> System.out.println(file.getName()));
}
} 输出
D:\ExampleDirectory\hidden directory1 D:\ExampleDirectory\hidden directory2











