public static ArrayList<String> getFileFolder(String path){ File file = new File(path);//获取目录 File[] FileArray = file.listFiles(); ArrayList<String> floderNames = new ArrayList<>();//存储目录下的文件夹名称 for(int i=0; i<file.length();i++){ if(FileArray[i].isDirectory()){ //是文件夹 floderNames.add(FileArray[i].getName()); } } return floderNames; }
时间: 2024-02-14 16:21:43 浏览: 119
这段代码的作用是获取指定路径下所有的文件夹名称,并将这些名称存储在一个 ArrayList 中返回。这个方法首先通过指定的路径获取一个 File 对象表示的目录,然后通过调用 listFiles() 方法获取该目录下的所有文件和文件夹的数组。接着,通过遍历这个数组,判断每个元素是否为一个目录,如果是目录,则将其名称添加到 ArrayList 中。最后,返回 ArrayList。
相关问题
添加注释 public class Demo2 { public static void main(String[] args) { File f1 = new File("/Users/nxy/Desktop/笔记/File"); List<String> list = getFile(new ArrayList<>(),f1); for (String s:list ) { System.out.println(s); } } public static List<String> getFile(List<String> list, File file) { if (file.isFile()) { System.out.println(file.getName()); } else { File[] files = file.listFiles(); for (File f : files ) { getFile(list, f); } } return list; } }
/**
* Demo2类
*/
public class Demo2 {
/**
* 主函数
* @param args 参数列表
*/
public static void main(String[] args) {
// 创建File对象f1表示指定目录
File f1 = new File("/Users/nxy/Desktop/笔记/File");
// 调用getFile方法获取该目录下所有文件的路径
List<String> list = getFile(new ArrayList<>(), f1);
// 遍历输出所有文件的路径
for (String s : list) {
System.out.println(s);
}
}
/**
* 获取指定目录下所有文件的路径
* @param list 存放文件路径的List集合
* @param file 指定目录
* @return 返回所有文件的路径
*/
public static List<String> getFile(List<String> list, File file) {
// 如果file是一个文件,则输出文件名
if (file.isFile()) {
System.out.println(file.getName());
} else {
// 如果file是一个目录,则获取该目录下所有文件
File[] files = file.listFiles();
for (File f : files) {
// 递归调用getFile方法,获取f目录下所有文件的路径
getFile(list, f);
}
}
return list;
}
}
private static void searchBySuffix() { Scanner sc = new Scanner(System.in); System.out.print("请输入要检索的目录位置:"); String path = sc.next();//从控制台获取路径 File file = new File(path); if (!file.exists() || !file.isDirectory()) { //判断目录是否存在,是否是目录 System.out.println(path + "(不是有效目录)"); return; } System.out.print("请输入搜索后缀:"); String suffix = sc.next(); String[] suffixArray = suffix.split(",");//获取后缀字符串 //在输入目录下获取所有指定后缀名的文件路径 ArrayList<String> list = FileUtils, listFiles (file, suffixArray); for (Object obj : list) { System.out.println(obj); //将路径打印到控制台 }检测错误并修正
这段代码中有一个错误,方法名中的逗号应该被替换为点号,正确的方法名应该是 `FileUtils.listFiles`。修正后的代码如下:
```
private static void searchBySuffix() {
Scanner sc = new Scanner(System.in);
System.out.print("请输入要检索的目录位置:");
String path = sc.next();//从控制台获取路径
File file = new File(path);
if (!file.exists() || !file.isDirectory()) { //判断目录是否存在,是否是目录
System.out.println(path + "(不是有效目录)");
return;
}
System.out.print("请输入搜索后缀:");
String suffix = sc.next();
String[] suffixArray = suffix.split(",");//获取后缀字符串
//在输入目录下获取所有指定后缀名的文件路径
ArrayList<String> list = FileUtils.listFiles(file, suffixArray);
for (Object obj : list) {
System.out.println(obj); //将路径打印到控制台
}
}
```
阅读全文