有一个代码可以显示所选目录中所需大小的所有文件夹。该代码可以正常工作并逐行显示与文件条件相对应的名称,但我需要的是,除了文件名、文件大小和用空格分隔的文件路径,
即 现在输出例如: name.txt ,但它是必要的: 500kb /Users/Desktop/name.txt
我知道在我的例子中,文件大小是使用 file.length() 方法找到的,但我不知道在哪里插入它。
import java.io.File;
import java.util.stream.Stream;
public class Main {
public static final int MIN_LENGTH = 150; //размер файла в байтах
public static void main(String[] args) {
File directory = new File("C:\\Users\\Desktop\\"); // путь к нужной директории
if (directory.isDirectory()) {
String[] fileList = directory.list((dir, name ) -> {
File file = (new File(dir + "\\" + name ));
return file.isFile() && file.length() >= MIN_LENGTH ;
});
if (fileList != null) {
Stream.of(fileList).forEach(System.out::println); // вывод в консоль построчно, а не в массиве
}
}
}
}
单独声明一个过滤器并进行搜索
File,并循环显示结果例子:
循环可以用streams+lambda代替: