本篇会加入个人的所谓鱼式疯言
❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言
而是理解过并总结出来通俗易懂的大白话,
小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的.
🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人能接受我们这个概念 !!!
引言
在数字化时代,数据的存储、访问与处理已成为推动科技进步与社会发展的核心动力。
想象一下,从个人电脑的文档管理到企业级的数据中心,从智能手机上的照片备份到云端服务的海量数据存储,无一不依赖于一个关键而基础的技术—— 文件输入输出(File IO) 。
文件IO,作为连接数据世界与现实世界的桥梁,其重要性不言而喻。它不仅关乎数据的安全与效率,更是各类应用程序、操作系统乃至整个信息技术架构的基石。
让我们一同踏入这场探索之旅,揭开文件IO技术的神秘面纱,共同见证数据如何在指尖流转,成为推动世界前行的强大力量。
本篇文章中我们讲学习到以下内容
目录
-
文件系统操作
-
文件内容操作
-
文件综合运用操作
一. 文件系统操作
对于一个文件来说,我们可以得到一个文件的各种属性: 文件名,文件目录,文件路径。这里的就涉及到文件系统操作。
1. File类
在 Java标准库 中就封装了一个
FIle类
来获取文件的各种信息和属性
来自
java.io.File
这个包。
2. 常用方法
而作为一个后端开发的程序猿我们只需要了解 Java标准库
中的 File 类 中常用的几个方法即可:
- 得到该 对象的文件名和上一个路径的文件
- 得到该 对象的路径
- 判断该对象是否是 绝对路径 或者 是否是一个目录
- 判断该对象是否是
一个文件
- 得到该目录下的 所有文件和目录
3. 代码演示
package FileDemo;
import java.io.File;
import java.io.IOException;
public class MyFileTest {
public static void main(String[] args) throws IOException {
File file = new File("./demo.txt");
// 得到文件的绝对路径
System.out.println(file.getAbsoluteFile());
// 判断是否是目录
if (file.isDirectory()) {
System.out.println("是目录!");
} else {
System.out.println("不是目录!");
}
// 判断是否是路径
if (file.isAbsolute()) {
System.out.println("是路径!");
} else {
System.out.println("不是路径!");
}
// 得到上一级的文件
File[] files = file.getParentFile().listFiles();
// 开始遍历
for (File f : files) {
// 判断是否是文件
if (f.isFile()) {
System.out.println(f.getName());
}
}
}
}
在上面的演示中
主要分为两部进行
- 文件对象的实例
File file = new File("./demo.txt");
- 进行各种文件系统操作
// 得到文件的绝对路径
System.out.println(file.getAbsoluteFile());
等… 这些操作将在下面内容中结合 文件内容操作 一起配合使用~
鱼式疯言
- 使用 File 类来实例化对象 时, 也是会成功的,
但需要判断的是是否是 符合要求 的
目录
或路径
。
- 需要抛出
异常 IOException
这个异常, 并且导入 Java.io.IOException 这个包.
二. 文件内容操作
在文件内容操作的之前,小伙伴们必须先了解一下流对象,以及流对象的表示形式。
1. 流对象
什么是流 ? ? ?
流可以说水流,气流等…
但在文件IO这里,流的作用主要是处理各种各样的文件形式而形成的一种 统一的概念 。
而流分为两种:
1) 字节流
2) 字符流
<1>. 字节流
字节流的含义就好比现在你有一百个字节数据
如果一个字节一个字节取,就需要取一百次;
如果五个字节五个字节取,就需要取二十次;
如果十个字节十个字节取,就需要取十次;
如果二十个字节二十个字节取,就需要取五次;
如果一百个字节一百个字节取,只需取一次。
这就是字节流,先把数据 以字节为基本单位
进行划分,根据 需求
得到每次 需要取出字节的个数 来进行 文件IO内容操作
。
代表的类:
- 以字节为单位的读操作的类
InputStream
- 以字节为单位的写操作的类
OutputStream
<2>. 字符流
字符流的含义就好比现在你有一百个字符数据
如果一个字符一个字节取,就需要取一百次;
如果五个字符五个字节取,就需要取二十次;
如果十个字符十个字节取,就需要取十次;
如果二十个字符二十个字节取,就需要取五次