File流 基础,练习


题目一

  1. 利用File构造器,new 一个文件目录file
    1)在其中创建多个文件和目录,测试自己学过的File类的方法
    2)手动编写方法,实现删除file中指定文件的操作
    public class IOFileTest01 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\dell\\demo\\demo01.txt");
        file.createNewFile();
        File file1 = new File("D:\\dell\\demo\\demo02\\demo");
        file1.mkdirs();
        File file2 = new File("D:\\dell\\demo03");
        file2.mkdir();
        file.delete();
        deleteFile(file);
    }

    public static void deleteFile(File file) {
        File[] files = file.listFiles();
        if (files != null) {
            for (File f : files) {
                if (f.isDirectory()) {
                    deleteFile(f);
                } else {
                    System.out.println(f.delete());
                }
            }
            System.out.println(file.delete());
        }
    }
}

题目二

2.判断指定目录下是否有后缀名为.jpg的文件,如果有,就输出该文件名称

        public static void main(String[] args) throws IOException {
        File file = new File("D:\\dell");

        File f1 = new File("D:\\dell\\demo\\Demo04\\买了大橘大利娃衣真开心.txt");
        System.out.println(f1.createNewFile());  //创建文件
        File f2 = new File("D:\\dell\\demo\\Demo04\\没钱了QAQ.txt");
        System.out.println(f2.createNewFile());  //创建文件
        File f3 = new File("D:\\dell\\demo\\Demo04\\缪拉宝宝.jpg");
        System.out.println(f3.createNewFile());  //创建文件
        String[] files = file.list();
        for (String f : files) {
            if (f.endsWith(".jpg")) {
                System.out.println(files);
            }
        }
    }
}

题目三

  1. 遍历指定目录所有文件名称,包括子文件目录中的文件(注意这句话,经典递归方法,不知道思路的直接问)。
            File file = new File("D:\\dell");
//调用方法
        textFile(file);
        System.out.println(file);
    }

    //        编写方法,实现删除file中指定文件的操作
    public static void textFile(File file) {
//        file对象中的文件存储到File文件数组中
        File[] fileArrary = file.listFiles();
        if (fileArrary != null) { //增加判断语句非空,增加健壮性
            for (File f : fileArrary) {  //增强for循环遍历集合,第一个for删除内容
                //判断该文件是否是文件目录 是递归 否删除
                if (f.isDirectory()) {
                    //是:递归调用
                    textFile(f);
                } else
                    //不是:获取绝对路径输出在控制台
                    System.out.println(f.getAbsoluteFile());
            }
        }
    }
}

题目四

  1. 创建一个与a.txt文件同目录下的另外一个文件b.txt
        public static void main(String[] args) throws IOException {
        File file = new File("D:\\dell\\demo\\a.txt");
        File file1 = new File(file.getParent(), "b.txt");
        file1.createNewFile();
    }
}

题目五

5.操作D盘下的my.txt文件

  1. 判断my.txt文件是否存在
  2. 若存在则删除;若不存在则创建
    public static void main(String[] args) throws IOException {
        File file = new File("D:\\dell\\demo\\my.txt");
        if(file.exists()){
            System.out.println(file.delete());
        }else {
            System.out.println(file.createNewFile());
        }
    }
}

题目六

6.File类的作用是什么?它是一种流吗?

不属于流,它只是进行对文件的操作,并不没有进行对数据的操作
File类的作用:一个File对象而可以代表一个文件或目录;File可以实现获取文件和目录属性等功能;可以实现对文件和目录的创建,删除等功能。

题目七

7.使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹:
1) 判断temp文件夹下的文件类型,如果是文件则直接删除
2) 如果是文件夹则获取该文件夹下的子文件和文件夹
3) 使用递归的方式删除所有temp文件夹下的文件和文件夹(可参考3题)

    public static void main(String[] args) throws IOException {
        File file = new File("D:\\dell\\aaa");
        deleteDir(file);
    }
    private static void deleteDir(File file){
        File[] files = file.listFiles();
        for(File f:files){
            if(f.isFile()){
                f.delete();
            }else {
                deleteDir(f);
            }
        }
        file.delete();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值