【Java-IO】File 文件类的使用案例

1、File 类概述

  FIle 类是用来操作文件和文件夹的(目录),但是不能操作文件内容,文件内容是通过输入输出流来操作的。

2、创建文件和目录

  Java 是面向对象的编程机制,所有文件和目录都应要有对应的 File 对象来进行操作。File 对象可以使用 mkdir() 方法来创建目录(文件夹),createNewFile() 来创建文件。值得注意的是在创建 File 对象的时候,就要指定文件对象的地址,可以是相对地址也可以是绝对地址,这里采用的是绝对地址。具体代码和运行结果如下:

public static void main(String[] args) {
        // 文件对象
        File file = new File("D:\\Test\\test.txt");
        // 目录对象
        File fileDir = new File("D:\\Test");
        // 判断磁盘原来是否有文件和目录
        System.out.println(file.exists());
        System.out.println(fileDir.exists());

        // 先创建目录
        boolean mkdir = fileDir.mkdir();
        System.out.println("make dir is success ?" +mkdir);
        // 再创建文件
        boolean newFile = false;
        try {
             newFile = file.createNewFile();
        }catch (Exception e){
            e.printStackTrace();
        }
        System.out.println("create new file is success? "+newFile);

    }
// 结果
// false
// false
// make dir is success ?true
// create new file is success? true

  代码执行完 D 盘目录下就会有刚刚创建的 Test 目录,Test 目录下就是 test.txt 文本文件,文件内容为空。

3、获取文件信息

  在获取文件对象的相关信息主要会用到如下的方法,运行结果是建立在上面的代码运行后之上的。

	@Test
    public void test(){
        // 文件对象
        File file = new File("D:\\Test\\test.txt");

        // 获取文件名
        String name = file.getName();
        System.out.println("name = "+name);

        // 获取文件路径
        String path = file.getPath();
        System.out.println("path = "+path);

        // 获取文件绝对路径
        String absolutePath = file.getAbsolutePath();
        System.out.println("absolutePath = "+absolutePath);

        // 获取文件的上一级目录
        String parent = file.getParent();
        System.out.println("parent = "+parent);

        // 判断文件在磁盘是否存在
        boolean exists = file.exists();
        System.out.println("exists = "+exists);

        // 判断文件是否可以读写
        boolean b = file.canRead();
        boolean b1 = file.canWrite();
        System.out.println("canRead = "+b);
        System.out.println("canWrite = "+b1);

        // 判断文件是否是文件、目录
        boolean file1 = file.isFile();
        boolean directory = file.isDirectory();
        System.out.println("isFile = "+file1);
        System.out.println("isDir = "+directory);

 		// 获取文件最后修改时间
        long lastModified = file.lastModified();
        System.out.println("lastModified = "+lastModified);

        // 获取文件长度
        long length = file.length();
        System.out.println("length = "+length);

    }

// 结果
// name = test.txt
// path = D:\Test\test.txt
// absolutePath = D:\Test\test.txt
// parent = D:\Test
// exists = true
// canRead = true
// canWrite = true
// isFile = true
// isDir = false
// lastModified = 1643340681233
// length = 0

4、修改文件信息

  修改文件信息主要就是修改名字,示例代码如下:

 	@Test
    public void test1(){
        // 文件对象
        File file = new File("D:\\Test\\test.txt");

        // 修改文件名
        boolean b = file.renameTo(new File("D:\\Test\\Demo.txt"));
        System.out.println("rename = "+b);
        
    }

5、删除文件和目录

  删除文件和文件夹可以通过两种方式,方式一:delete 方法直接删除,方式二:通过钩子删除。delete 方法很好理解,就是代码执行到这个方法,这个方法执行完毕文件就删除了,钩子就有点特殊,它是 deleteOnExit() 方法,该方法是当 Java 虚拟机退出时才去执行。也就是说 Java 程序执行完了,对应要删除的文件就会被删除。

	@Test
    public void test2(){
        // 文件对象
        File file = new File("D:\\Test\\Demo.txt");
        // 目录对象
        File fileDir = new File("D:\\Test");

        // 直接通过delete删除
        boolean delete = file.delete();
        System.out.println("delete = "+delete);

        // 通过钩子删除
        fileDir.deleteOnExit();
    }

6、File 类其他方法

  File 类除了上面的示例方法其实还有很多方法,还包括从 Object 类那里继承的方法,详情去查询 API,用的多了也就记住了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值