Java中File类的常用方法


前言

一、File类

  • 概述

    • File提供了大量的文件操作:删除文件、修改文件、得到文件修改日期、建立目录、列表文件等等。
    • File类可以用来表示文件,也可以用来表示目录。

    1.构造方法

    • File(String pathname):根据一个路径得到File对象
    • File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
    • File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象

    代码示例:

public class file{
    public static void main(String[] args) {
        //File 用来描述文件和目录(文件夹)
        //构造方法1.File(String pathname):根据一个路径得到File对象
                //绝对路径:带有盘符号
                //相对路径:不带盘符号
        File file = new File("C:\\Users\\46188\\Desktop\\Java好有趣");

        //构造方法2.File(String parent, String child):根据一个目录和一个子文件/目录得到File对象
        File file1 = new File("C:\\Users\\46188\\Desktop\\小夏爱Java", "小夏爱java的100条原因.docx");

        //构造方法3.File(File parent, String child):根据一个父File对象和一个子文件/目录得到File对象
        File file2 = new File("C:\\Users\\46188\\Desktop\\小夏爱Java");
        File file3 = new File(file2, "小夏好好学习java.doc");

    }
}

2.创建

1.创建文件
  • public boolean createNewFile():创建一个新的文件 如果存在这样的文件,就不创建了

代码示例:

public class 如何创建文件 {
    public static void main(String[] args) throws IOException {
        //采用的相对路径,代表该项目根目录下,即E:\MyJavaCode2路径下
        File file = new File("a.txt");
        //创建文件,创建成功,返回布尔类型的true
        boolean b = file.createNewFile();
        System.out.println(b);
        //采用绝对路径
        File file1 = new File("E:\\MyJavaCode2\\b.txt");
        boolean b1 = file1.createNewFile();
        System.out.println(b1);

    }
}

在这里插入图片描述

2.创建目录
  • 创建单级目录
    public boolean mkdir()
  • 创建多级目录
    public boolean mkdirs()

代码示例:

public class 创建目录 {
    public static void main(String[] args) {
        //创建目录
            //创建单级目录
        File file = new File("C:\\Users\\46188\\Desktop\\小夏真漂亮");
        boolean a = file.mkdir();
        System.out.println(a);
            //创建多级目录
        File file1 = new File("C:\\Users\\46188\\Desktop", "第一层\\第二层\\第三层");
        boolean aa = file1.mkdirs();
        System.out.println(aa);

    }
}

3.删除

  • public boolean delete():删除文件或者目录

注意:

  • 删除目录时,只能删除空目录
  • Java中的删除不走回收站!

4.重命名

  • public boolean renameTo(File dest):把文件重命名为指定的文件路径

代码示例:

public class 文件重命名 {
    public static void main(String[] args) throws IOException {
        //要修改的文件
        File f= new File("a.txt");
        boolean newFile = f.createNewFile();
        //重命名文件
        File f1 = new File("b.txt");
        //重命名
        boolean b = f.renameTo(f1);
        System.out.println(b);

    }
}
  • 注意:
    • 如果路径名相同,就是重命名
    • 如果路径不同,就是重命名并剪切(File类没有提供剪切功能,所以我们可以使用其进行剪切

5.判断

  • public boolean isFile(): 判断是否是文件
  • public boolean isDirectory(): 判断是否是目录
  • public boolean exists(): 判断是否存在
  • public boolean canRead(): 判断是否可读
  • public boolean canWrite(): 判断是否可写
  • public boolean isHidden(): 判断是否隐藏
  • public boolean isAbsolute(); 判断是否使用的是绝对路径

代码示例:

public class 判断功能 {
    public static void main(String[] args) {
        File ff = new File("new.txt");
        //1.判断其是否为文件
        if(ff.isFile()){
            System.out.println("是文件");
        }
        //2.判断其是否为目录
        if(ff.isDirectory()){
            System.out.println("是目录");
        }else{
            System.out.println("不是目录");
        }
        //3.判断文件是否存在
        if(ff.exists()){
            System.out.println("文件存在");
        }
        //4.判断文件是否可读
        if (ff.canRead()) {
            System.out.println("可读");
        }
        if(ff.canWrite()){
            System.out.println("可写");
        }else{
            System.out.println("不可写");
        }
        //5.判断文件是否隐藏
        if (ff.isHidden()) {
            System.out.println("是隐藏文件");
        }else{
            System.out.println("不是隐藏文件");
        }
        //判断是否使用的是绝对路径
        if (ff.isAbsolute()) {
            System.out.println("是绝对路径");
        }

    }
}

6.获取

代码示例:

public class 获取 {
    public static void main(String[] args) {
        File ff1 = new File("C:\\Users\\46188\\Desktop\\测试.doc");
        //1.获取文件大小,单位是字节
        long length = ff1.length();
        System.out.println(length);
        //2.获取文件名
        System.out.println(ff1.getName());
        //3.获取父路径,返回的是字符串形式(不灵活)
        String parent = ff1.getParent();
        System.out.println(parent);
        //4.获取父路径,返回文件形式(灵活)
        File parentFile = ff1.getParentFile();
        System.out.println(parentFile.toString());
        //5.获取绝对路径,返回文件形式
        File absoluteFile = ff1.getAbsoluteFile();
        System.out.println(absoluteFile.toString());
        //6.获取总空间大小,单位是字节 1byte=8bit 1kb=1024byte 1M=1024kb
        File ff2 = new File("C:\\");
        long totalSpace = ff2.getTotalSpace();
        System.out.println(totalSpace/1024/1024/1024+"GB");
        //7.获取剩余空间  已用空间=总空间-剩余空间
        long freeSpace = ff2.getFreeSpace();
        System.out.println(freeSpace/1024/1024/1024+"GB");
        //8.获取文件最后修改时间,返回是毫秒值
        long l = ff1.lastModified();
        System.out.println(l);
            //转化日期字符串
        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
        long time=l;
        String format =simpleDateFormat1.format(new Date(time));
        System.out.println(format);


    }
}

代码示例:

public class 获取中较难的方法 {
    public static void main(String[] args) {
        //1.获取指定目录下所有文件或目录的名称数组,不灵活
        File file5 = new File("C:\\Users\\46188\\Desktop\\中国");
        String[] list = file5.list();
       for (String s : list) {
           System.out.println(s);
        }
       //2.获取指定目录下所有文件或目录的file数组,灵活
        File[] files = file5.listFiles();
        for (File file : files) {
            System.out.println(file.getName()+"   "+file.length());
            //返回为file数组,可直接指定删除文件
            if(file.getName().equals("陕西")){
                file.delete();
            }
        }
    }
}

总结

我们学习了Java中的File类中的常用方法,不难也易于理解。后续会出一篇关于该知识点的练习,帮助我们更好的学习如何操作文件。

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值