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() {} ``` 在**进程退出**时 删除**真实**的抽象路径末文件

相关推荐
Restart-AHTCM6 小时前
LangChain学习之提示词模板 (Prompts) - 练习(2/8)
学习·langchain
YangYang9YangYan6 小时前
2026产品专员学习数据分析的价值与路径
学习·数据挖掘·数据分析
DN金猿6 小时前
spring.cloud.nacos.discovery.server-addr和spring.cloud.nacos.server-addr区别
java·开发语言·nacos·springcloud·sca
淘矿人6 小时前
【AI大模型】AI 大模型推理平台完整测评:8 家主流聚合服务对比分析
人工智能·sql·gpt·学习·github·php
ChampaignWolf7 小时前
在 Eclipse 中使用 Tabnine
java·ide·eclipse
我想我不够好。7 小时前
2026.5.20 消防监控学习 1.5hour
学习
JAVA面经实录9177 小时前
Java多线程并发高频面试100题(完整版·含答案·背诵版)
java·开发语言·面试
XiYang-DING7 小时前
【Java EE】TCP—延时应答
网络·tcp/ip·java-ee
XiYang-DING7 小时前
【Java EE】TCP—流量控制和拥塞控制
java·tcp/ip·java-ee
爱喝水的鱼丶7 小时前
SAP-ABAP:数据类型与数据对象(8篇) 第七篇:进阶优化篇——基于类型与对象特征的性能优化技巧
运维·数据库·学习·性能优化·sap·abap·开发交流