fileutils.java
来自「java 教程相应的代码 全是自己写的内附注释 很容易看明白的」· Java 代码 · 共 53 行
JAVA
53 行
package demo.chapter.file;
import java.io.File;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public abstract class FileUtils {
public static final String MAP_FILES_KEY = "files";
public static final String MAP_DIRS_KEY = "dirs";
public static Map<String, Set<File>> getPathFiles(String path) {
Map<String, Set<File>> result =
new HashMap<String, Set<File>>();
result.put(MAP_FILES_KEY, new HashSet<File>());
result.put(MAP_DIRS_KEY, new HashSet<File>());
File file = new File(path);
if (file.isDirectory()) {
for (File f : file.listFiles()) {
if (f.isFile()) {
result.get(MAP_FILES_KEY).add(f);
} else {
result.get(MAP_DIRS_KEY).add(f);
}
}
}
return result;
}
public static void main(String[] args) {
System.out.println("请输入目录路径:");
Scanner scan = new Scanner(System.in);
String path = scan.nextLine();
printFileInfo(path);
}
private static void printFileInfo(String path) {
Map<String, Set<File>> map =
FileUtils.getPathFiles(path);
Set<File> files = map.get(MAP_FILES_KEY);
Set<File> dirs = map.get(MAP_DIRS_KEY);
for (File f : files) {
System.out.println(f.getAbsolutePath());
}
for (File f : dirs) {
printFileInfo(f.getAbsolutePath());
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?