美文网首页
列出目录下所有内容---递归

列出目录下所有内容---递归

作者: 东风谷123Liter | 来源:发表于2018-10-10 22:12 被阅读0次

需求:列出目录下所有内容,包括文件和目录和目录下的文件和目录;直到列出目录中所有内容。


image.png

删除文件夹操作也是一样的,需要用到递归的技巧。



练习:

/*
1,对指定目录进行递归。
2,获取递归过程中所有的Java文件路径。
3,对这些路径存储到集合中。
4,将集合中的数据写入另一个文件中。
*/
import java.io.*;
import java.util.*;
class javaFileList{
    public static void main(String[] args) throws IOException{
        File dir = new File("F:\\test\\jihe");
        //定义List集合,用来存储文件
        List<File> list = new ArrayList<File>();
        fileToList(dir, list);
        //打印集合的大小
        System.out.println(list .size());
        writeToFile(list,"F:\\test\\fileTable");
    }
    public static void fileToList(File dir, List<File> list){
        File[] files = dir.listFiles();
        for(File file : files){
            if(file.isDirectory())
                //递归调用fileToList()方法
                fileToList(file, list);
            else{
                if(file.getName().endsWith(".java"));
                    list.add(file);
            }
        }
    }
    public static void writeToFile(List<File> list, String javaListFile) throws IOException{
        //目的,文本
        BufferedWriter bufw = null;
        try{
            bufw = new BufferedWriter(new FileWriter(javaListFile));
            for(File f : list){
                String path = f.getAbsolutePath();
                bufw.write(path);
                bufw.newLine();
                bufw.flush();
            }
        }
        catch(IOException e){
            throw e;
        }
        finally{
            try{
                if(bufw != null)
                    bufw.close();
                }
            catch(IOException e){
                throw e;
            }
        }
    }
}

相关文章

  • 列出目录下所有内容---递归

    需求:列出目录下所有内容,包括文件和目录和目录下的文件和目录;直到列出目录中所有内容。 删除文件夹操作也是一样的,...

  • day20-07-IO流(列出目录下所有内容-递归)

    列出指定目录下文件或者文件夹,包含子目录中的内容,也就是列出指定目录下所有内容。 因为目录中还有目录,只要使用同一...

  • 2021-09-19 IO流(列出目录下所有内容-递归)

    列出指定目录下文件或者文件夹,包含子目录中的内容,即是列出指定目录下所有内容 因为目录中还有目录,只要使用同一个列...

  • Linux常用命令

    cd切换目录 ls-l 列出长数据串-a 列出隐藏文件-d 仅列出目录-R 递归列出所有文件 grep查找文件内容...

  • Linux 命令合集(一):文件和目录操作命令

    一、ls:列出目标目录中的所有子目录和文件 命令格式 常用参数-a:列出目录下的所有文件,包括隐藏文件-A:列出目...

  • 命令行集

    GIT pwd 查看当前完整路径 l 列出具体文件的细节 R 递归列举目录下的内容 F 列出文件类型 ls 查看当...

  • Linux--tree命令

    概述 tree命令的中文意思为“树”,功能是以树形结构列出指定目录下的所有内容,包括所有文件、子目录及子目录里的目...

  • IO流(递归使用方法及注意事项)

    列出指定目录下文件或者文件夹,包含子目录中的内容。也就是列出指定目录下所有内容。 因为目录中还有目录,只要使用同一...

  • 02 勘察:使用 HTTrack 下载一个站点用于离线分析

    正如 HTTrack 的官方网站上讲的:该工具可以帮你把网站内容从服务器下载到本地的某个目录下,递归的保存所有的目...

  • Linux 常见命令

    ls 显示文件或目 -l 列出文件详细信息l(list) 录-a 列出当前目录下所有文件及目录,包括隐藏的a(al...

网友评论

      本文标题:列出目录下所有内容---递归

      本文链接:https://www.haomeiwen.com/subject/vkamaftx.html