File基础

File

查看文件是否存在,创建文件,绝对路径,相对路径

private static void show() throws IOException {
        File file = new File("F:\\a.txt");
        String absolutePath = file.getAbsolutePath();
        System.out.println("file的绝对路径:"+absolutePath);
        //判断文件是否存在
        System.out.println(file.exists());
        //通过判断文件是否存在,不存在则我们自己去创建
        //创建文件
        if(!file.exists()){
           file.createNewFile(); //F盘下创建了a文件
        }
        System.out.println("-------------");
        /**
         * 相对路径 相当于当前项目
         */
        File file2 = new File("a.txt");
        file2.createNewFile();
        System.out.println("file2的绝对径:"+file2.getAbsolutePath());
    }

通过两级目录创建对象

    private static void show2() throws IOException {
        //通过两级目录创建对象
        //通过子父级路径(字符串形式)创建对象
        File file = new File("F:\\test", "a.txt");
        file.createNewFile();
        System.out.println(file.exists());

        //通过父级文件对象+子级路径创建对象
        File parent = new File("F:\\test");
        File file2 = new File(parent, "a.txt");
        System.out.println(file2.equals(file));
    }

演示删除文件/文件夹

private static void show3() {
        // 演示删除文件/文件夹(这个方法只能删除空的)
        File file = new File("F:\\test\\a.txt");
        boolean delete = file.delete();
        System.out.println(delete);


        File file2 = new File("F:\\test");
        System.out.println("文件夹内有东西是否可以删除:"+file2.delete());
    }

创建单层/多层文件夹

 private static void show() {
        File file = new File("F:\\tass");
        boolean mkdir = file.mkdir();
        System.out.println("文件夹是否创建成功:"+mkdir);

        File file2 = new File("F:\\tass\\a\\b\\c");
        boolean mkdirs = file2.mkdirs();
        System.out.println("创建多层文件夹:"+mkdirs);
    }

判断是文件夹还是文件

 private static void show() {
        File file = new File("F:\\tass\\a");
        System.out.println("判断是文件吗:"+file.isFile());
        System.out.println("判断是文件夹吗:"+file.isDirectory());
    }

获得文件夹下的所有内容,以字符串数组或者文件对象数组返回

private static void show() {
        File file = new File("F:\\tass");
        //获得文件夹下的所有
        //list()方法将文件夹下的所有内容都以字符串数组返回
        String[] list = file.list();
        for (String s : list) {
            if(s.endsWith("txt")){
                System.out.println(s);
            }
        }

        System.out.println("-------------");

        //获得文件夹下的所有内容,以文件对象(文件+文件夹)数组返回
        File[] files = file.listFiles();
        for (File file1 : files) {
            if(file1.exists()){
                file1.delete();
            }
        }
    }

重命名/剪切并且重命名

   private static void show() throws IOException {
        File file = new File("F:\\tass\\a\\b\\c", "a3.txt");
        System.out.println(file.exists());
        if(!file.exists()){
            file.createNewFile();
        }
        /**
         * 重命名前面位置一致: 就是重命名
         * 重命名前面位置不一致: 就是[剪切并重命名]
         */
        File file1 = new File("F:\\tass\\a\\b\\c\\a3.txt");
        File file2 = new File("F:\\tass\\a\\b\\a3.txt");
        file1.renameTo(file2);
    }

//方法演示

  • boolean delete() 删除文件夹/文件,有内容无法删除该文件>
  • boolean mkdir(); 创建单层文件夹
  • boolean mkdirs(); 创建多层文件夹
  • 判断文件夹类型 boolean isDirectory();
  • 判断是否是文件 boolean isFile();
  • boolean renameTo()
  • 重命名前面位置一致,就是重命名
  • 重命名前面位置不一致,就是剪切并重命名

常用方法:

  • 字符串路径创建对象 new File(String f)
  • 判断文件是否存在 exists()
  • 创建文件 mkdir()
  • 删除文件 delete()
  • 获得完整路径 getAbsolutePath()

练习:设计方法,传入一个路径将该路径指定的文件或者空文件夹删掉

public class Demo1 {
    public static void main(String[] args) throws IOException {
        delete(new File("F:\\a.txt"));

    }
    public static void delete(File file){
        file.delete();
    }
}

练习2:设计方法,传入路径,将其删掉(不管是文件还是文件夹,也不管文件夹是否为空,都删除)

public class Demo1 {
    public static void main(String[] args) throws IOException {
        delete(new File("F:\\tass"));

    }
    public static void delete(File file){
        //获得传进来的路径 把所有文件对象放到文件数组中
        File[] files = file.listFiles();
        for (File file1 : files) {
            if(file1.isFile()){
                file1.delete();
            }else{
                //否则就是文件夹
                delete(file1);
            }
        }
        //循环结束 只剩下传进来的空文件夹
        //删掉
        file.delete();
    }
}
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值