【Java I/O 流】文件的操作——java.io.File 类详解

在这里插入图片描述

❤️ 个人主页:水滴技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
🌸 订阅专栏:Java 教程:从入门到精通


大家好,我是水滴~~

最近遇到了一些文件流读写的问题,发现对这块知识掌握的还不够系统,所以花了一些时间将 Java IO 流相关的知识整理了一下,也在这里分享给你们,希望能够有所帮助。

先来看第一篇:本文讲述了计算机文件的基本知识,以及 Java 中如何使用 File 类来操作文件的。

第一章 什么是文件

计算机文件是以计算机硬盘为载体,存储在计算机上的信息集合。文件有很多种类型,例如:文本文件、图片文件、音频文件、视频文件、压缩文件、Word 文件等。

在这里插入图片描述

计算机文件又可分为两大类:文本文件和二进制文件。我们知道,计算机文件的存储在物理上是二进制的,所以文本文件和二进制文件的区别并不是物理上,而是在逻辑上。
文本文件是基于字符编码的文件,常见的编码有 ASCII 编码、UNICODE 编码等。二进制文件是基于值编码的文件,即每个应用有一套自己的编码格式(自定义编码)。

第二章 File 类

Java 中 java.io.File 类是文件和目录路径名的抽象表示,用于操作本地文件或目录。该类有四个构造方法,用于创建 File 的实例。

2.1 构造方法一

通过路径名字符串创建一个新 File 实例。

File(String pathname) 

例如:

File file2 = new File("C:/io_demo/file2.txt");

2.2 构造方法二

通过父 File 实例和子路径名字符串创建一个新的 File实例。

File(File parent, String child);

例如:

File file1 = new File(new File("C:/io_demo"), "file1.txt");

2.3 构造方法三

通过父路径名字符串和子路径名字符串创建一个新 File 实例。

File(String parent, String child) 

例如:

File file3 = new File("C:/io_demo", "file3.txt");

2.4 构造方法四

通过 URI 实例来创建一个新的 File 实例。

File(URI uri) 

例如:

File file4 = new File(new URI("file:/C:/io_demo/file4.txt"));

第三章 File 类的常用方法

下面列出了 File 类的一些常用方法:

3.1 创建目录

先创建一个指定目录的 File 实例,调用该实例的mkdirsmkdir 方法来创建路径(mkdir 用于创建一级目录;mkdirs 用于创建多级目录,我们一般使用此方法)。

File file = new File("C:/io_demo/path1");
file.mkdirs();

3.2 创建文件

调用 File 实例的 createNewFile 方法来创建一个空文件。如果文件所属目录不存在,会抛出异常,所以应先创建好目录。

File file = new File("C:/io_demo/file5.txt");
try {
    file.createNewFile();
} catch (IOException e) {
    e.printStackTrace();
}

3.3 是否存在

调用 File 实例的 exists 方法可以判断该文件或目录是否存在。

File file = new File("C:/io_demo/file5.txt");
System.out.println(file.exists());

3.4 是否为目录

isDirectory 方法判断 File 是否为目录。

File file = new File("C:/io_demo/path1");
System.out.println(file.isDirectory());

3.5 是否为文件

isFile 方法判断 File 是否为文件。

File file = new File("C:/io_demo/file5.txt");
System.out.println(file.isFile());

3.6 获取文件名

getPath 方法获取文件完整路径;getParent 方法获取文件所属目录;getName 方法获取文件名称。

File file = new File("C:/io_demo/file5.txt");
System.out.println(file.getPath());
System.out.println(file.getParent());
System.out.println(file.getName());

3.7 获取最后修改时间

通过 lastModified 方法获取文件的最后修改时间。返回值为时间戳,可以将其转换为时间字符串。

File file = new File("C:/io_demo/file5.txt");
System.out.println(file.lastModified());

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date(file.lastModified())));

3.8 列出目录中所有文件

通过 list 方法列出所有文件和目录字符串名。

File file = new File("C:/io_demo");
for (String s : file.list()) {
    System.out.println(s);
}

3.9 删除文件或目录

delete 方法用于删除文件或目录。

File file = new File("C:/io_demo/file5.txt");
file.delete();

好了,今天先到这里吧,如果以上内容对你有所帮助,别忘了给我来个关注和三连哦。感谢您的阅读~~

在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水滴技术

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

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

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

打赏作者

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

抵扣说明:

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

余额充值