欢迎访问宙启技术站
智能推送

实现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函数遍历文件夹并提取特定文件类型的功能了。如果需要提取其他类型的文件,只需要将条件改成相应的文件类型即可。