JAVA基础知识之File类

JAVA基础知识之File类


前言

Java File是java IO流中非常重要的一个类,在包java.io.File中,可以根据你的系统类型为你提供进入文件系统的能力,通过java IO流你可以做到:


一、File是什么

Java File是java IO流中非常重要的一个类,在包java.io.File中,可以根据你的系统类型为你提供进入文件系统的能力,通过java IO流你可以做到:

  1. 判断一个文件夹是否存在
  2. 创建一个文件夹目录如果该文件夹不存在
  3. 获取文件的大小
  4. 重命名或者移动一个文件
  5. 删除文件
  6. 查看目录下的文件

二、File类的使用

1.创建一个文件

在使用File类之前,我们必须创建File对象。

代码如下:

File file = new File("/Users/wangzhiwang/Destop");

2.判断文件或目录是否存在

可以通过File类的exists()方法来判断file是否存在
代码如下:

System.out.println(file.exists());

3.在文件夹不存在的情况下创建目录

可以通过File类的mkdir()方法来创建目录(如果文件目录不存在的话),如果你的文件路径上存在不存在的目录,即你需要创建多级目录的情况下,请使用mkdirs()方法
代码如下:

File file_mkdir = new File("/Users/wangzhiwang/Destop/test");
boolean isCreated = file.mkdir();
File file_mkdirs = new File("/Users/wangzhiwang/Destop/mkdirs");
boolean isCreatedMkdirs = file.mkdirs();

4.获取文件长度

你可以通过length()方法来获取文件的字节长度
代码如下:

 File fileLength = new File("/Users/wangzhiwang/Destop/test");
        long length = file.length();

5.重命名一个文件或者文件夹

可以通过方法renameTo()来重命名一个文件或者文件夹

 File fileRename = new File("/Users/wangzhiwang/Destop/test/rename.txt");
fileRename.renameTo(new File("/Users/wangzhiwang/Destop/test/renamed.txt"));

值得注意的是,该方法同时可以用来移动一个文件到不同的目录,这里学习过linux的同学们可能会同时想到linux中的mv命令也同时有相同的作用。
该方法返回一个布尔值,表示该重命名是否成功。重命名失败可能会有多种原因,例如没有权限以及当前文件正在被使用等。
同时该方法也可以对文件夹起作用

6.删除一个文件

 File fileRename = new File newFile = new File("/Users/wangzhiwang/Destop/test/rename.txt");
boolean isSuccess = newFile.delete();

该方法返回一个布尔值,表示删除操作是否成功。
同时该方法也可以对文件夹起作用

7.递归删除文件夹以及其子文件夹

值得注意的是,delete方法在删除文件夹时只能删除空文件夹,如果想要删除其下的所有文件,我们必须使用递归方法

public static boolean deleteDir(File dir){
    File[] files = dir.listFiles();
    if(files != null){
        for(File file : files){
            if(file.isDirectory()){
                deleteDir(file);
            } else {
                file.delete();
            }
        }
    }
    return dir.delete();
}

8.查看文件夹下的所有文件

可以通过list方法或者listFiles方法来获取文件夹下的文件。这两个方法的不同点list方法返回的是String数组而listFiles返回的是file数组,存储该文件夹下的文件

File file = new File("c:\\data");

String[] fileNames = file.list();

File[]   files = file.listFiles();

9.判断文件是否是文件夹

通过 isDirectory方法,我们可以判断一个file类是否是文件夹,返回一个boolean类型

File fileRename = new File("/Users/wangzhiwang/Destop/test/rename.txt");
boolean isDir = fileRename.isDirectory();

总结

以上就是今天记录的内容,本文仅仅简单介绍了File类的使用,而其中还含有许多在实际运用中十分使用的方法,我将在源码分析中介绍。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默终止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值