目录
1. IO(输入输出)基础概念
1.1 IO的定义
1.2 流
1.3 IO流
2.存储
2.1 存储技术
2.2 存储介质的分类(机械硬盘、固态硬盘、光盘、磁带)
2.2.1 机械硬盘
2.2.2 固态硬盘
2.2.3 光盘
2.2.4 磁盘
2.3 存储管理
2.4 存储发展趋势
3.文件系统的基本概念
3.1 基本概念
3.2 文件路径
3.3 文件类型
1. IO(输入输出)基础概念
1.1 IO的定义
输入输出(IO)是指计算机同任何外部设备之间的数据传递。常见的输入输出设备有文件、键盘、打印机、屏幕等。数据可以按记录(或称数据块)的方式传递,也可以 流的方式传递
1.2 流
流可以被理解为字节序列的抽象表示,它允许程序以一种连续的方式进行数据的读写操作,而不需要一次性加载所有数据到内存中。
1.3 IO流
输入流(InputStream)和输出流(OutputStream)的总称。输入流用于从某个源头(如文件、网络等)读取数据,而输出流则用于向某个目的地(如文件、网络等)写入数据。
Java标准库对流进行了一系列的封装,一共一组类负责进行这些工作.
这些类别主要可分为两大类。
a.字节流
以字节为单位进行读写,一次最多读写一个字节
字节流通常用于处理非文本数据,如图片、音频和视频文件。
代表类
InputStream 输入
OutputStream 输出
b.字符流
以字符为单位进行读写,如,utf8表示汉字,3个字节就是一个汉字,每次读写都得以3个字节(一个汉字为单位)为单位进行读取,不能一次读写半个汉字
字符流通常用于处理文本文件,它可以自动处理字符编码和解码,从而简化文本操作。
代表类
Reader 输出
Writer 输入
2.存储
2.1 存储技术
•存储技术是指计算机中用于实现存储功能的技术手段。
•常见的存储技术包括磁性存储技术、固态存储技术等。
•不同的存储技术有着不同的工作原理和特点。
2.2 存储介质的分类(机械硬盘、固态硬盘、光盘、磁带)
2.2.1 机械硬盘
1.工作原理:利用旋转的磁盘和移动的读写头来存储数据。数据被记录在磁盘表面的磁性层上。
2.优点:
• 提供较大的存储容量,成本相对较低。
• 广泛用于数据中心和个人电脑中作为主要或辅助存储设备。
3.缺点:
• 因为包含机械运动部件,所以更易损坏且访问速度较慢。
• 功耗较高,发热量大。
2.2.2 固态硬盘
1.工作原理:采用闪存技术作为持久性存储介质,没有移动部件,数据存储在基于浮栅晶体管的电子单元中。
2. 优点:
• 读写速度快,延迟低。
• 耐用性好,抗冲击能力强。
• 功耗较低,运行时几乎不产生噪音。
3.缺点:
• 单位容量价格高于HDD。
• 写入次数有限,虽然现代SSD已经大大提高了耐用性。
2.2.3 光盘
1.种类:包括CD、DVD、Blu-ray等。
2.工作原理:通过激光束在光盘表面刻录或读取信息,信息以坑和平台的形式存在,代表二进制的0和1。
3.优点:
• 对于长期归档来说是一个经济实惠的选择。
• 物理稳定性高,不易受电磁干扰影响。
4.缺点:
• 存储容量相比HDD和SSD较小。
• 需要专门的读写设备,且容易受到刮擦和环境因素的影响。
2.2.4 磁盘
1.工作原理:通过将数据记录在磁性带上的方式实现数据存储。磁带机使用磁头进行数据的读写操作。
2.优点:
• 成本效益高,适合大量数据的冷备份。
• 数据保存时间长,适合长期归档。
3.缺点:
• 访问速度慢,尤其是随机访问性能差。
• 需要适当的环境条件来保持磁带的良好状态,否则可能会导致数据丢失。
2.3 存储管理
•存储管理是指计算机系统中对存储资源进行有效管理的过程。
•存储管理的目标是提高存储资源的利用率和性能。
•存储管理涉及到内存分配、文件系统、页面置换算法等方面。
2.4 存储发展趋势
•存储容量越来越大,性能也在不断提升。
•辅助存储器的容量和速度不断增加,取代了传统的磁带存储。
•固态存储技术的发展使得存储速度大幅提升。
3.文件系统的基本概念
3.1 基本概念
1.文件类型:文件可以包含各种类型的数据,如文本、图片、音频、视频和可执行程序等。
2.文件路径:文件路径是计算机系统中用于定位文件的唯一标识。文件路径可以是绝对路径或相对路径。绝对路径表示文件在文件系统中的完整位置,从根目录开始。相对路径表示文件相对于另一个文件或目录的位置。
3.文件属性:文件具有多种属性,如文件名、大小、创建时间、修改时间和访问权限等。操作系统和文件系统通过这些属性来管理和跟踪文件。
4.访问权限:为了保护文件的安全和完整性,操作系统通常会对文件实施访问权限控制。文件的访问权限可以分为读取、写入和执行等级别。不同的用户和用户组可能具有不同的访问权限。
5.文件操作:操作系统和应用程序通过文件操作来读取、修改和管理文件。常见的文件操作包括创建、打开、关闭、读取、写入、重命名、删除、复制和移动等。
6.文件格式:文件格式是文件中数据的组织和表示方式。不同类型的文件可能采用不同的文件格式。例如,文本文件可以采用 ASCII 或 Unicode 编码,图片文件可以采用 JPEG、PNG 或 GIF 格式,音频文件可以采用 MP3 或 WAV 格式等。
7.文件编码:文件编码是将字符数据转换为二进制数据的过程。常见的文件编码包括 ASCII、UTF- 8、UTF-16 和 UTF-32 等。选择正确的文件编码对于保证文件内容的正确显示和处理至关重要。
3.2 文件路径
文件路径是指操作系统用来指定文件存储位置的一串字符。它指示了从根目录(或当前工作目录)到目标文件的完整路线,包含所有必要的目录名及其分隔符。根据操作系统的不同,文件路径的格式和使用习惯也有所不同。
文件路径的主要类型:
1.绝对路径:提供从根目录开始到文件的完整路径。无论当前工作目录是什么,绝对路径总是指向同一个位置。
•在Unix/Linux系统中,根目录用斜杠(/)表示,例如 /home/user/documents/file.txt。
•在Windows系统中,根目录通常由驱动器号后跟冒号和反斜杠(\)表示,例如 C:\Users\user\Documents\file.txt。
2.相对路径:相对于当前工作目录的路径。这意味着其解释依赖于用户的当前位置。
•例如,如果当前工作目录是 /home/user,那么相对路径 documents/file.txt 将指向 /home/user/documents/file.txt。
•相对路径可以使用特殊符号如 . 表示当前目录,.. 表示上一级目录。
3.3 文件类型
文件类型指的是文件的内容和用途的分类。操作系统通常通过文件扩展名来识别文件类型,尽管这种方法并不总是准确的,因为扩展名可以被随意更改。下面介绍两种常见的文件类型:
1.文本文件是指以ASCII码方式(也称文本方式)存储的文件,更确切地说,英文、数字等字符存储的是ASCII码,而汉字存储的是机内码。文本文件中除了存储文件有效字符信息(包括能用ASCII码字符表示的回车、换行等信息)外,不能存储其他任何信息。
- 纯文本文件(如 .txt、.log、.md 等)
- 代码文件(如 .c、.java、.py 等)
- 配置文件(如 .ini、.conf 等)
- 标记语言文件(如 .html、.xml、.json 等)
2.广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名。狭义的二进制文件即除文本文件以外的文件。
图像文件(如 .jpg、.png、.gif 等)
音频文件(如 .mp3、.wav、.ogg 等)
视频文件(如 .mp4、.avi、.mkv 等)
可执行文件(如 .exe、.dll、.so 等)
压缩文件(如 .zip、.rar、.7z 等)
文档文件(如 .pdf、.docx、.pptx 等)