文件IO的常识

文件

  1. 狭义文件:保存在磁盘上的文件
  2. 广义文件:操作系统管理资源的一直形式

固态硬盘,机械硬盘,内存,寄存器

固态硬盘:

优势是容量大TB级别,存储的数据可以持久化,劣势是读写速度很慢

内部结构:

通过磁头去读取磁盘上面的数据,磁盘不断旋转转速大概是7200转每分钟

固态硬盘(ssd)

内部是由集成电路构成的,容量大,读取速度快,存储的数据也可以实现持久化

内存

容量相对于固态和机械盘较小,但是读取速度快,缺点是数据的存储无法实现持久化,断电就gg

寄存器

容量更小,读取速度是最快的,缺点也是数据的存储无法实现持久化,断电也gg

计算机的存储结构

计算机的存储结构是一颗N叉树,一层套一层

C盘下面有这些子节点,这些子节点下面也有很多子节点,构成了N叉树

路径

从树根到某个具体的节点(目录)经过的节点(目录)全部记录下来就构成路径。

一般我们使用/(斜杠)来分割路径中的不同节点(目录)

举例:E:\JAVAEE Reward

在Windows中默认的是\(反斜杠),因为Windows的前身的Dos系统,Dos系统就是通过\(反斜杠)来操作命令符的,但是也支持/(斜杠)

在编写代码的过程中,推荐使用的是/(斜杠),因为\(反斜杠)在编译器中可能会被当做转义语言,会导致很多麻烦。

绝对路径

一个个都不能少,从盘符开始

例子:C:/zhan/video/memory/year/month/day

基准路径与相对路径

相对路径语法 ./

放回上一级的语法 ../ (可以连续返回多级 ../../../)

基准路径是自己设定的,比如我可以设置C:/zhan为基准路径,这个时候我就可以使用./video来表示相对路径, .表示的是video的上一层

举例子:

假设我设置C:/zhan为基准路径,那么如果我要点开video我就可以使用./video打开

假设video中存储了一个叫happy的文件,但是我现在在year中,我就可以使用../../happy来打开happy这个文件。

文件的种类

  1. 二进制文件,所有的文件都是一个二进制文件,这个是计算机内明确规定的。
  2. 文本文件,在二进制中一些特殊的存在,二进制数据刚好能构成字符,这段字符翻译过来是一段有用的信息

如何快速判断一个文件是不是二进制文件?

使用记事本打开,记事本会自动进行查码表和翻译,如果不是乱码就是文本文件,如果是乱码,那么就是二进制文件

文本文件:

二进制文件

Word的docx是二进制文件,叫做富文本

富文本:可以有很多信息,图片,音频,视频等。

相关推荐
哦虎!8 小时前
【JavaEE】网络初识
java
for_ever_love__8 小时前
MySQL ORDER BY 排序优化:从 Using filesort 到索引有序扫描(含双路 / 单路排序原理)
java·mysql·优化·存储·by·order·filesort
程序猿追9 小时前
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试
开发语言·kotlin·harmonyos
我是人✓9 小时前
Java文件上传三方式对比:从传统到SpringBoot
java·开发语言
智能直播9 小时前
网络RTMP拉流不卡顿、声音不同步,一文讲透缓冲区、时间戳
开发语言·ffmpeg·php·音视频·视频编解码
欣栀♡9 小时前
JVM 频繁 Full GC 先看日志括号里的 cause,jstat 的 FGC 在 JDK 8 上会骗人
java·jvm
IT研究室10 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
慧都小项10 小时前
MyEclipse 中创建和测试 JAX-RS REST 接口:从项目配置到 REST Explorer
java·restful·myeclipse·jax-rs
Wang's Blog10 小时前
Java 项目实战: 交友项目 - 入门案例:编写 Dubbo 服务提供者
java·dubbo·交友
墨云安全10 小时前
内网资产无法暴露到公网,怎么做安全检测?2026 年内网渗透测试的落地路径
开发语言·安全·网络安全·渗透测试·php