下面给您详细讲解Java后台文件夹下文件遍历的完整攻略。
一、文件夹遍历基本原理
- 首先需要一个File对象,用来表示文件夹或文件;
- 通过该File对象调用listFiles()方法获取该文件夹下的所有子文件或子文件夹;
- 遍历得到的子文件或子文件夹,如果是文件夹,递归调用自身方法,如果是文件,则可以直接操作。
二、Java后台文件夹遍历完整代码
import java.io.File;
public class FileTraversal {
public static void main(String[] args) {
// 要遍历的文件夹路径
String dirPath = "D:\\JavaDocs\\docs\\api";
// 获取该路径下的File对象
File dirFile = new File(dirPath);
// 遍历该路径下的所有文件
traverseFiles(dirFile);
}
/**
* 遍历指定文件夹下的所有文件
* @param dirFile 待遍历的文件夹
*/
public static void traverseFiles(File dirFile) {
// 判断是否是文件夹
if (dirFile.isDirectory()) {
// 获取该文件夹下的所有文件
File[] files = dirFile.listFiles();
// 遍历该文件夹下的所有文件
for (File file : files) {
// 如果是文件夹,继续遍历它下面的文件
if (file.isDirectory()) {
traverseFiles(file);
} else {
// 如果是文件,则可以进行其他操作,例如打印文件路径信息
System.out.println(file.getAbsolutePath());
}
}
} else {
// 如果不是文件夹,则可以进行其他操作,例如打印文件路径信息
System.out.println(dirFile.getAbsolutePath());
}
}
}
三、示例应用
示例1:获取目录下所有文件名
import java.io.File;
public class FileNameList {
public static void main(String[] args) {
// 要遍历的文件夹路径
String dirPath = "D:\\JavaDocs\\docs\\api";
// 获取该路径下的File对象
File dirFile = new File(dirPath);
// 遍历该路径下的所有文件
traverseFiles(dirFile);
}
/**
* 遍历指定文件夹下的所有文件
* @param dirFile 待遍历的文件夹
*/
public static void traverseFiles(File dirFile) {
// 判断是否是文件夹
if (dirFile.isDirectory()) {
// 获取该文件夹下的所有文件
File[] files = dirFile.listFiles();
// 遍历该文件夹下的所有文件
for (File file : files) {
// 如果是文件夹,继续遍历它下面的文件
if (file.isDirectory()) {
traverseFiles(file);
} else {
// 如果是文件,则可以进行其他操作,例如获取文件名
String fileName = file.getName();
System.out.println(fileName);
}
}
} else {
// 如果不是文件夹,则可以进行其他操作,例如获取文件名
String fileName = dirFile.getName();
System.out.println(fileName);
}
}
}
示例2:获取目录下特定类型的文件
import java.io.File;
public class FileTypeList {
public static void main(String[] args) {
// 要遍历的文件夹路径
String dirPath = "D:\\JavaDocs\\docs\\api";
// 要查找的文件类型
String fileType = "html";
// 获取该路径下的File对象
File dirFile = new File(dirPath);
// 遍历该路径下的所有文件
traverseFiles(dirFile, fileType);
}
/**
* 遍历指定文件夹下的所有文件
* @param dirFile 待遍历的文件夹
* @param fileType 要查找的文件类型
*/
public static void traverseFiles(File dirFile, String fileType) {
// 判断是否是文件夹
if (dirFile.isDirectory()) {
// 获取该文件夹下的所有文件
File[] files = dirFile.listFiles();
// 遍历该文件夹下的所有文件
for (File file : files) {
// 如果是文件夹,继续遍历它下面的文件
if (file.isDirectory()) {
traverseFiles(file, fileType);
} else {
// 如果是文件,则可以进行其他操作,例如获取文件扩展名
String fileName = file.getName();
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
// 如果文件扩展名与要查找的文件类型相同,则打印文件路径信息
if (fileExtension.equalsIgnoreCase(fileType)) {
System.out.println(file.getAbsolutePath());
}
}
}
} else {
// 如果不是文件夹,则可以进行其他操作,例如获取文件扩展名
String fileName = dirFile.getName();
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1);
// 如果文件扩展名与要查找的文件类型相同,则打印文件路径信息
if (fileExtension.equalsIgnoreCase(fileType)) {
System.out.println(dirFile.getAbsolutePath());
}
}
}
}
希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java的后台文件夹下文件的遍历完整代码 - Python技术站