java基础之File(具体案例)

需求一:打印出指定文件夹下的子文件名和子文件夹名

这里贴出我F:\test目录的截图:

这里写图片描述

代码如下:
    //打印指定文件夹下的一级子文件名或者文件夹名
    public static void printDir(File file){
        //获得file文件夹下面的所有文件名
        String[] list = file.list();
        for (String fileName : list){
            System.out.println(fileName);
        }
    }



    public static  void main(String[] args){
        File file = new File("F:\\test");
        printDir(file);
    }

结果为:

新建文件夹
新建文件夹 - 副本
新建文件夹 - 副本 (2)
新建文件夹 - 副本 (3)
新建文本文档 - 副本 (2).txt
新建文本文档 - 副本 (3).txt
新建文本文档 - 副本 (4).txt
新建文本文档 - 副本 (5).txt
新建文本文档 - 副本.txt
新建文本文档.txt

可以看出:默认是先打印文件夹名称,后打印文件名称的。

需求二:打印指定文件夹下面的所有的文件名和文件夹名,要有表现出层次结构
思路:
1.得到给定文件夹下的所有的子文件列表
2.遍历子文件列表
3.判断如果是文件,就打印出文件的名称
4。判断如果是文件夹,打印其文件夹名称,继续得到该文件夹的子文件列表(重复1)


说明:这里的3、4可以合并,因为都是要打印文件名;所以可以下打印文件名,在判断是否
是文件夹
下面是代码:
   public static void printDir1(File file,String separator){
        //得到file文件夹下面的所有文件
        File[] files = file.listFiles();
        for (File file1 : files){
            System.out.println(separator+file1.getName());
            if (file1.isDirectory()){
                printDir1(file1,"| "+separator);
            }
        }
    }
public static  void main(String[] args){
        File file = new File("F:\\test");
        printDir1(file,"|-");

    }

结果为:
|-新建文件夹
|-新建文件夹 - 副本
| |-新建 WinRAR ZIP 压缩文件 - 副本 (2).zip
| |-新建 WinRAR ZIP 压缩文件 - 副本 (3).zip
| |-新建 WinRAR ZIP 压缩文件 - 副本 (4).zip
| |-新建 WinRAR ZIP 压缩文件 - 副本.zip
| |-新建 WinRAR ZIP 压缩文件.zip
|-新建文件夹 - 副本 (2)
| |-新建 Microsoft Excel 工作表 - 副本 (2).xlsx
| |-新建 Microsoft Excel 工作表 - 副本 (3).xlsx
| |-新建 Microsoft Excel 工作表 - 副本 (4).xlsx
| |-新建 Microsoft Excel 工作表 - 副本 (5).xlsx
| |-新建 Microsoft Excel 工作表 - 副本.xlsx
| |-新建 Microsoft Excel 工作表.xlsx
|-新建文件夹 - 副本 (3)
| |-123
| | |-456
| | | |-新建位图图像 - 副本 (2).bmp
| | | |-新建位图图像 - 副本 (3).bmp
| | | |-新建位图图像 - 副本.bmp
| | | |-新建位图图像.bmp
| | |-新建 Microsoft PowerPoint 演示文稿 - 副本 (2).pptx
| | |-新建 Microsoft PowerPoint 演示文稿 - 副本.pptx
| | |-新建 Microsoft PowerPoint 演示文稿.pptx
| |-新建 Microsoft Word 文档 - 副本 (2).docx
| |-新建 Microsoft Word 文档 - 副本 (3).docx
| |-新建 Microsoft Word 文档 - 副本 (4).docx
| |-新建 Microsoft Word 文档 - 副本 (5).docx
| |-新建 Microsoft Word 文档 - 副本.docx
| |-新建 Microsoft Word 文档.docx
|-新建文本文档 - 副本 (2).txt
|-新建文本文档 - 副本 (3).txt
|-新建文本文档 - 副本 (4).txt
|-新建文本文档 - 副本 (5).txt
|-新建文本文档 - 副本.txt
|-新建文本文档.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值