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
public class Main {public static void main(String[] args) {
File folder = new File(".")
// 获取这个目录下的所有文件
File[] files = folder.listFiles()
// 遍历文件并处理
for (File file : files) {
// 处理文件
System.out.println(file.getName())
}
}
}
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)1.不使用递归的方法调用。
public void traverseFolder1(String path) {
int fileNum = 0, folderNum = 0
File file = new File(path)
if (file.exists()) {
LinkedList<File>list = new LinkedList<File>()
File[] files = file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
File temp_file
while (!list.isEmpty()) {
temp_file = list.removeFirst()
files = temp_file.listFiles()
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夹:" + file2.getAbsolutePath())
list.add(file2)
fileNum++
} else {
System.out.println("文件:" + file2.getAbsolutePath())
folderNum++
}
}
}
} else {
System.out.println("文件不存在!")
}
System.out.println("文件夹共有:" + folderNum + ",文件共有:" + fileNum)
}
2.使用递归的方法调用
public static List<File>getFileList(String strPath) {
File dir = new File(strPath)
File[] files = dir.listFiles()// 该文件目录下文件全部放入数组
if (files != null) {
for (int i = 0i <files.lengthi++) {
String fileName = files[i].getName()
if (files[i].isDirectory()) { // 判断是文件还是文件夹
getFileList(files[i].getAbsolutePath())// 获取文件绝对路径
} else if (fileName.endsWith("avi")) { // 判断文件名是否以.avi结尾
String strFileName = files[i].getAbsolutePath()
System.out.println("---" + strFileName)
filelist.add(files[i])
} else {
continue
}
}
}
return filelist
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)