java中获得一个文件夹中的所有文件名代码如下:
package com.readfile
import java.io.Filepublic class GetAllFiles {
public static void main(String[] args) {
//路径 这里写一个路径进去
String path="F:\\QQ文档"
//调用方法
getFiles(path)
}
/**
* 递归获取某路径下的所有文件,文件夹,并输出
*/
public static void getFiles(String path) {
File file = new File(path)
// 如果这个路径是文件夹
if (file.isDirectory()) {
// 获取路径下的所有文件
File[] files = file.listFiles()
for (int i = 0i <files.lengthi++) {
// 如果还是文件夹 递归获取里面的文件 文件夹
if (files[i].isDirectory()) {
System.out.println("目录:" + files[i].getPath())
getFiles(files[i].getPath())
} else {
System.out.println("文件:" + files[i].getPath())
}
}
} else {
System.out.println("文件:" + file.getPath())
}
}
}
扩展资料:
如果想要获得当前文件中的文件名只需要String [] fileName = file.list()就可以了。
如果要包括文件中的文件名就可以用递归的方式。下面是两个具体的实现。
其中public static String [] getFileName(String path)是只得到当前文件中的文件名。
public static void getAllFileName(String path,ArrayList<String>fileName)是包括当前文件及其子文件的文件名。
参考资料:
百度百科-Java
import java.io.File \x0d\x0aimport java.io.IOException \x0d\x0apublic class FileDemo11{\x0d\x0apublic static void main(String args[]){\x0d\x0aFile my = new File("d:" + File.separator) // *** 作路径,可以有外部参数决定的\x0d\x0aprint(my) \x0d\x0a}\x0d\x0apublic static void print(File file){// 递归调用\x0d\x0aif(file!=null){// 判断对象是否为空\x0d\x0aif(file.isDirectory()){// 如果是目录\x0d\x0aFile f[] = file.listFiles() // 列出全部的文件\x0d\x0aif(f!=null){// 判断此目录能否列出\x0d\x0afor(int i=0i<f.lengthi++){\x0d\x0aprint(f[i]) // 因为给的路径有可能是目录,所以,继续判断\x0d\x0a}\x0d\x0a}\x0d\x0a}else{\x0d\x0aSystem.out.println(file) // 输出路径\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}/*** 获取指定路径下的所有文件列表
*
* @param dir 要查找的目录
* @return
*/
public static List<String> getFileList(String dir) {
List<String> listFile = new ArrayList<>()
File dirFile = new File(dir)
//如果不是目录文件,则直接返回
if (dirFile.isDirectory()) {
//获得文件夹下的文件列表,然后根据文件类型分别处理
File[] files = dirFile.listFiles()
if (null != files && files.length > 0) {
//根据时间排序
Arrays.sort(files, new Comparator<File>() {
public int compare(File f1, File f2) {
return (int) (f1.lastModified() - f2.lastModified())
}
public boolean equals(Object obj) {
return true
}
})
for (File file : files) {
//如果不是目录,直接添加
if (!file.isDirectory()) {
listFile.add(file.getAbsolutePath())
} else {
//对于目录文件,递归调用
listFile.addAll(getFileList(file.getAbsolutePath()))
}
}
}
}
return listFile
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)