Java文件操作系列(一):从基础概念到File类核心方法

🔥Brookty: 个人主页

📚系列专栏:《JavaEE》《文件IO》

💪学习阶段:JavaEE全栈[文件IO]

🎬博主简介☟

文章目录

一、资源

1.硬件资源

1.1存储

1.1.1cpu寄存器

1.1.2内存

1.1.3外存

1.2CPU、显卡、外设

2.软件资源

2.1程序

2.2数据

2.2.1文件

2.2.1.1狭义文件

2.2.1.2广义文件

3.硬软关系

3.1硬件对软件

3.2软件对硬件

二、文件基础

1.组织

1.1目录文件

1.2普通文件

2.路径

2.1绝对路径

2.2相对路径

2.2.1基准路径

3.存储

3.1二进制文件

3.2文本文件

4.打开

4.1打开文件

4.2打开父目录

三、文件操作(一):文件系统操作

File类

1.构造

1.1绝对/相对路径

1.2父目录路径+子文件名

1.3父目录+子文件名

2.创建

2.1普通文件

2.2目录文件

2.2.1一个目录

2.2.2多级目录

3.获取

3.1路径

3.1.1抽象路径

3.1.2父路径

3.2文件名

3.3存储

3.3.1文件名

3.3.2文件对象

4.判断

4.1真实性

4.1.1存在

4.1.2普通文件

4.1.3目录文件

4.2权限

4.2.1读

4.2.2写

5.移动(重命名)

6.删除

6.1立即删除

6.2退出删除


一、资源

计算机可使用物理类硬件资源逻辑类软件资源

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. 操作系统 转化 管理对象文件
  2. 操作系统 映射 物理类硬件内寻逻辑类软件地址
  3. 操作系统 加载 外存数据 到内存

二、文件基础

1.组织

文件 以N叉树 结构 组织位置

1.1目录文件

非叶子节点 的++目录++ 文件 存储文件


1.2普通文件

叶子节点 的++普通++ 文件 存储数据


2.路径

进入文件 里面存储下一层的内容朝下选进的文件 构成路径

2.1绝对路径

绝对路径 从此电脑根节点 朝下选进盘符文件 开始


2.2相对路径

相对路径 重进基准路径的已进文件 后再继续

./ 重进 基准路径的当前末处的 已进文件

../ 重进 基准路径的往回一个的 已进文件

2.2.1基准路径

案例:

  1. idea中运行程序 的基准路径是 项目目录 的绝对路径
  2. 运行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() {} ``` 在**进程退出**时 删除**真实**的抽象路径末文件

相关推荐
AI视觉网奇7 小时前
3d数字人 ue blender 绑定衣服对齐 2026
学习·ue5
Nan_Shu_6147 小时前
学习: Blender 基础篇
学习·blender
Anastasiozzzz7 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人7 小时前
通过脚本推送Docker镜像
java·docker·容器
铁蛋AI编程实战8 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
晚霞的不甘8 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
SunnyDays10118 小时前
使用 Java 冻结 Excel 行和列:完整指南
java·冻结excel行和列
奶茶精Gaaa8 小时前
工具分享--json在线转换工具
学习
摇滚侠8 小时前
在 SpringBoot 项目中,开发工具使用 IDEA,.idea 目录下的文件需要提交吗
java·spring boot·intellij-idea
云姜.8 小时前
java多态
java·开发语言·c++