欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA基础知识之File类

程序员文章站 2024-01-13 18:19:40
...

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类的使用,而其中还含有许多在实际运用中十分使用的方法,我将在源码分析中介绍。
相关标签: java java