
🔥Brookty: 个人主页
💪学习阶段:JavaEE全栈[文件IO]
🎬博主简介☟
文章目录
一、资源
计算机可使用的 物理类硬件资源 与 逻辑类软件资源
1.硬件资源
存储、CPU、显卡、外设(如打印机)
1.1存储
1.1.1cpu寄存器
高速小量 临时 存 正在处理 的 指令****和数据
1.1.2内存
中速中量 临时 存 运行时加载 的 逻辑类软件
1.1.3外存
低速大量 持久 存 没运行加载 的 逻辑类软件
1.2CPU、显卡、外设
2.软件资源
程序、数据
2.1程序
系统软件(如Windows操作系统,文件管理系统)、应用软件(如World,浏览器)
2.2数据
文件、配置、数据库
2.2.1文件
文件含属数据
|----|-------|
| 含属 | 包含并属于 |
[注释]
2.2.1.1狭义文件
存于****外部存储里的 数据的含属载体,涵盖存储的数据 (++长期文件++,如文件、视频、程序安装包)
2.2.1.2广义文件
操作系统****管理对象化成数据的 含属载体,涵盖存储和处理的数据 (++长期文件++ ,如外存的狭义文件;++临时文件++,如cpu寄存器的指令片段、内存中的数据块、外部设备的节点文件)
3.硬软关系
3.1硬件对软件
执行的硬件 使用软件的****数据:
物理类硬件 存储写执行读****逻辑类软件
3.2软件对硬件
运行的软件 操控 硬件****的执行:
- 操作系统 转化 管理对象 为文件
- 操作系统 映射 物理类硬件内寻逻辑类软件 的 地址
- 操作系统 加载 外存数据 到内存
二、文件基础
1.组织
文件 以N叉树 结构 组织位置
1.1目录文件
非叶子节点 的++目录++ 文件 存储文件
1.2普通文件
叶子节点 的++普通++ 文件 存储数据
2.路径
进入文件 里面存储下一层的内容,朝下选进的文件 构成路径
2.1绝对路径
绝对路径 从此电脑根节点 朝下选进盘符文件 开始
2.2相对路径
相对路径 重进基准路径的已进文件 后再继续:
./ 重进 基准路径的当前末处的 已进文件
../ 重进 基准路径的往回一个的 已进文件
2.2.1基准路径
案例:
- idea中运行程序 的基准路径是 项目目录 的绝对路径
- 运行jar包 的基准路径是 执行运行命令所在目录 的绝对路径
3.存储
3.1二进制文件
文件都是 以二进制形式存储 的 二进制文件(如图片、音频、视频、富文本.world/docx)
3.2文本文件
文本文件存储的二进制数据 都能数字大小映射在码表 上 且翻译的字符组合有意义(如纯文本.txt、源文件.java/c)
4.打开
4.1打开文件
打开文件 查看文件的存储数据
4.2打开父目录
打开文件的父目录 查看父目录的存储数据 、里面有此文件的组织结构
三、文件操作(一):文件系统操作
知识连接:文件操作(二):文件内容操作
File类
文件对象进入抽象路径末文件 管理
1.构造
传参初始化 抽象路径 进行构造:
1.1绝对/相对路径
java
public File(String pathname) {}
1.2父目录路径+子文件名
java
public File(String parent, String child) {}
1.3父目录+子文件名
java
public File(File parent, String child) {}
2.创建
2.1普通文件
java
public boolean createNewFile() throws IOException {}
创建 抽象路径末文件 为普通文件
2.2目录文件
2.2.1一个目录
java
public boolean mkdir() {}
创建 抽象路径末文件 为目录文件
2.2.2多级目录
java
public boolean mkdirs() {}
沿抽象路径补 创建 多级目录
3.获取
3.1路径
3.1.1抽象路径
1\]构造格式 ```java public String getPath() {} ``` 获取 **构造格式**的抽象路径 \[2\]完整绝对 ```java public String getAbsolutePath() {} ``` 获取 **包重进** **完整绝对**的抽象路径 \[3\]标准绝对 ```java public String getCanonicalPath() throws IOException {} ``` 获取 **去重进** **标准绝对**的抽象路径 *** ** * ** *** ###### 3.1.2父路径 ```java public String getParent() {} ``` 获取 抽象路径末文件的 **父目录**的路径 *** ** * ** *** ##### 3.2文件名 ```java public String getName() {} ``` 获取 抽象路径末文件的 **文件名** *** ** * ** *** ##### 3.3存储 ###### 3.3.1文件名 ```java public String[] list() {} ``` 获取 抽象路径末**真实目录文件** 里面的**存储文件名** *** ** * ** *** ###### 3.3.2文件对象 ```java public File[] listFiles() {} ``` 获取 抽象路径末**真实目录文件** 里面的**存储文件对象** *** ** * ** *** #### 4.判断 ##### 4.1真实性 ###### 4.1.1存在 ```java public boolean exists() {} ``` 判断 抽象路径末文件 是否 **真实存在** *** ** * ** *** ###### 4.1.2普通文件 ```java public boolean isFile() {} ``` 判断 抽象路径末文件 是非 **真实的普通文件** *** ** * ** *** ###### 4.1.3目录文件 ```java public boolean isDirectory() {} ``` 判断 抽象路径末文件 是非 **真实的目录文件** *** ** * ** *** ##### 4.2权限 ###### 4.2.1读 ```java public boolean canRead() {} ``` 判断 用户 是否 有对文件**读权限** *** ** * ** *** ###### 4.2.2写 ```java public boolean canWrite() {} ``` 判断 用户 是否 有对文件**写权限** *** ** * ** *** #### 5.移动(重命名) ```java public boolean renameTo(File dest) {} ``` **移动** **抽象路径末文件** **成** **指定文件对象的路径末文件** *** ** * ** *** #### 6.删除 ##### 6.1立即删除 ```java public boolean delete() {} ``` **立即**删除 **真实**的抽象路径末文件 *** ** * ** *** ##### 6.2退出删除 ```java public void deleteOnExit() {} ``` 在**进程退出**时 删除**真实**的抽象路径末文件