实现Java函数遍历文件夹并提取特定文件类型。
发布时间:2023-06-23 06:53:13
在Java中,要实现遍历文件夹并提取特定文件类型的功能,主要是通过递归函数来实现的。
首先,需要定义一个function来遍历文件夹。该function需要传入一个File类型的参数,也就是需要遍历的文件夹,以及一个List类型的参数,用来存储找到的特定文件类型。
public static List<File> traverseDirectory(File dir, List<File> fileList) {
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
if (file.isDirectory()) { //如果是文件夹,递归遍历
traverseDirectory(file, fileList);
} else { //如果是文件,判断文件类型
if (file.getName().endsWith(".txt")) { //特定文件类型的条件
fileList.add(file); //将符合条件的文件加入list中
}
}
}
}
return fileList; //返回list
}
在上面的代码中,首先通过dir.listFiles()来获取当前文件夹下所有的文件和文件夹。然后通过判断当前文件是文件夹还是文件,来进行不同的操作。如果是文件夹,则需要递归调用当前function,遍历该文件夹下的所有文件和文件夹;如果是文件,则需要判断文件类型,如果符合特定文件类型的条件,则将该文件加入List中。
在判断文件类型时,可以使用字符串的endsWith()方法来判断。endsWith()方法可以判断字符串是否以特定字符串结尾。上面的代码中,使用了".txt"作为特定文件类型的条件。
最后,需要在main函数中调用上面的function,并输出找到的特定文件类型的文件列表。
public static void main(String[] args) {
File dir = new File("C:/test");
List<File> fileList = new ArrayList<>();
fileList = traverseDirectory(dir, fileList);
System.out.println("File List:");
for (File file : fileList) {
System.out.println(file.getAbsolutePath());
}
}
在main函数中,首先定义了要遍历的文件夹,并创建了一个空的List用来存储找到的特定文件类型。然后调用上面定义的遍历文件夹的function来遍历该文件夹,并将找到的特定文件类型加入List中。最后,使用for循环遍历List,并输出每个文件的绝对路径。
通过上面的代码,就可以实现Java函数遍历文件夹并提取特定文件类型的功能了。如果需要提取其他类型的文件,只需要将条件改成相应的文件类型即可。
