一.IO流
1.1 什么是IO流
所谓 IO流就是两种流的简称
什么是流?
流(stream)
- I : Input 输入流
- O : output 输出流
文件的io相当于就是在操作硬盘完成对硬盘的读写
1.2 IO流的分类
-
往内存 / 硬盘去的叫做**输入流,**也就是 Input , 对字节来说就是 (Read);
从内存中取出的叫做输出流, 也就是Output ,对字节来说就是 (Write)
-
根据 读取数据的方式不同来进行分类
-
针对文本文件,统称为**‘字符流’**
例如 (.txt , .java, .c都是文本文件)
-
针对二进制文件,统称为’字节流’
例如(.class, .exe二进制文件, .jpg, .mp3, .doc 都是二进制文件)
因此,如果以记事本的形式打开MP3 , 或者jpg 格式的文件会造成乱码!
原因也很简单, 就是因为 二进制文件都是一个一个的字节, 记事本尝试把当前的若干个字节数据往utf8的字符码里面套, 这样套出来的东西并不是想要的二进制数据.
因此,若想打开二进制文件或者文本文件,就需要使用一些特殊的类来进行读取操作.
-
文件系统操作 : 创建,删除,重命名文件,创建目录
文件内容操作: 针对文件内容进行读和写
二. 存储和硬盘
2.1 关于存储 :
存储的分类:
1 ) 按层次分类
2 ) 按传输介质分类:
- 半导体:主存、Cache
- 磁表面存储器: 磁盘,磁带
- 光存储器
硬盘(HDD) 和 内存(RAM)的区别
-
速度: 内存比硬盘块很多
-
存储空间: 内存空间要比硬盘小
-
成本上: 内存要比硬盘贵一些
2.2 关于硬盘:
硬盘就是计算机最主要的存储设备,它由一个或者多个铝制或者玻璃制的碟片组成
硬盘的容量以兆字节(MB) 或者千兆字节(GB) 为单位, 1GB = 1024MB , 1TB = 1024GB 硬盘厂商在标称硬盘通常取1 G= 1000 MB 因此我们在Bios中或者在格式化看到的应怕容量会比厂家的称值要小.
三. 文件基本认识
从文件存储结构,路径,文件类型来了解文件的基本内容.
文件存储结构
在计算机中,文件系统是以N叉树的树形结构来组织文件和目录的(根目录就是 此电脑)
可以看到 , 以此电脑为根往下延伸出三个盘,每一个盘又有自己的子目录(文件夹)和文件 就像是一颗N叉树一样往下延申…
而我们看到的这个部分就是文件路径
实际上是以 \ 来分割的(只有windows是这样实际上是以/分割) , 如果是在代码中需要使用转义字符 \\ 才代表是 一条反斜杠.
绝对路径和相对路径
路径有分为绝对路径相对路径
- 绝对路径 : 从盘符开始, 一层层往下找, 这个过程得到的路径 , 就是绝对路径 C:\software就是一个绝对路径
- 相对路径 : 从给定的某个目录开始,一层一层往下找, 这个过程得到的路径称为相对路径,(以某个目录为根 , 往下找的相对位置,就叫做相对路径),因此我们一定要明确,基准目录是什么
文件的分类
文件分为 文本文件 和 非文本文件
-
文本文件 : 凡是能用记事本打开的文件,都是文本文件(不会出现乱码情况)
-
非文本文件 : 一般指都是二进制文件, 并不是由字符组成, 因此若是拿字符集来进行转换的话就出现乱码情况!
常见的非文本文件包括:
- 图像文件(如 .jpg、.png、.gif 等)
- 音频文件(如 .mp3、.wav、.ogg 等)
- 视频文件(如 .mp4、.avi、.mkv 等)
- 可执行文件(如 .exe、.dll、.so 等)
- 压缩文件(如 .zip、.rar、.7z 等)
- 文档文件(如 .pdf、.docx、.pptx 等)
总之, 文本文件和非文本文件是计算机中根据文件内容的表示方式和组织结构划分的两种文件类型。文本文件包含人类可读的文本字符,可以用文本编辑器打开和编辑。非文本文件包含特定格式的数据,需要使用特定的应用程序或库来解析和处理。
总之, 文本文件和非文本文件是计算机中根据文件内容的表示方式和组织结构划分的两种文件类型。文本文件包含人类可读的文本字符,可以用文本编辑器打开和编辑。非文本文件包含特定格式的数据,需要使用特定的应用程序或库来解析和处理。