IO、存储、硬盘、文件系统相关常识

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!

人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习!

欢迎志同道合的朋友一起加油喔🦾🦾🦾
目标梦想:进大厂,立志成为一个牛掰的Java程序猿,虽然现在还是一个🐒嘿嘿
谢谢你这么帅气美丽还给我点赞!比个心


目录

一.IO和IO流

1.IO(输入/输出)

2. I/O 流(输入/输出流)

二.存储和硬盘

存储

硬盘

三.认识文件

(1)概念:

(2)相对路径和绝对路径

(3)文本文件和非文本文件



一.IO和IO流

IO(输入/输出)是一个广泛的概念,通常指代计算机与外部设备(如键盘、鼠标、打印机、显示器等)或其他计算机组件(如磁盘、网络等)之间的数据交换过程。IO 操作可以涉及到多种类型的数据传输和设备。

IO 流(Input/Output Stream)是实现 IO 操作的一种方式,它是一种以顺序、连续的方式处理数据的抽象概念。在编程领域,IO 流通常用于处理文件读写、网络通信和内存操作等任务。

1.IO(输入/输出)

IO 是计算机与外部设备(如磁盘、键盘、显示器等)之间数据传输的过程。IO 操作通常涉及读取和写入数据。在计算机系统中,IO 操作可能涉及内存与外部设备之间的数据交换,也可能涉及 CPU 与外部设备之间的数据交换。IO 可分为同步 IO 和异步 IO。同步 IO 在操作完成前会阻塞执行线程,而异步 IO 允许执行线程在操作完成前继续执行其他任务。

2. I/O 流(输入/输出流)

是 Java 编程语言中用于处理输入和输出数据的核心概念。流是顺序访问数据的抽象概念,它表示数据从源到目的地的传输过程。在 Java 中,I/O 流是通过使用 java.io 包中的类和接口来实现的

I/O 流可以分为两大类:输入流和输出流。输入流用于从数据源(如文件、网络连接、内存缓冲区等)读取数据,而输出流用于将数据写入目的地(如文件、网络连接、内存缓冲区等)。流的基本操作包括读取、写入和关闭

I/O 流在 Java 中具有层次化的结构,主要分为以下四种类型:

  1. 字节流字节流用于处理原始二进制数据,以字节为单位进行读写操作。字节流的基类是 InputStream(输入流)和 OutputStream(输出流)。字节流通常用于处理非文本数据,如图片、音频和视频文件。

  2. 字符流字符流用于处理文本数据,以字符为单位进行读写操作。字符流的基类是 Reader(输入流)和 Writer(输出流)。字符流通常用于处理文本文件,它可以自动处理字符编码和解码,从而简化文本操作。

  3. 缓冲流缓冲流在内部维护一个缓冲区,通过减少对底层数据源或目的地的直接访问次数,从而提高 I/O 操作的性能。缓冲流的主要类是 BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter

  4. 数据流数据流用于处理 Java 基本数据类型和字符串的 I/O 操作。数据流可以方便地将 Java 数据类型和字符串读写到流中,同时保留其原始格式和类型。数据流的主要类是 DataInputStreamDataOutputStream

I/O 流的操作通常需要处理异常(如 IOException)。在操作完成后,应始终关闭流以释放系统资源。在 Java 7 及更高版本中,可以使用 try-with-resources 语句自动关闭流。

总之,I/O 流是 Java 中处理输入和输出数据的核心概念。通过使用不同类型的流(如字节流、字符流、缓冲流和数据流),可以灵活地处理各种数据源和目的地之间的数据传输。了解 I/O 流及其相关类和接口有助于编写高效、可扩展的 Java 程序。


二.存储和硬盘

存储

存储是计算机系统中用于保存和访问数据的组件。存储可以分为以下两类:

  1. 主存储(内存)主存储是计算机系统的临时存储区域,用于存储正在执行的程序和相关数据。主存储通常由随机访问存储器(RAM)组成,具有较高的数据访问速度。RAM 可以分为静态 RAM(SRAM)和动态 RAM(DRAM)。SRAM 速度较快但成本较高,而 DRAM 速度较慢但成本较低。当计算机断电时,主存储中的数据会丢失。

  2. 辅助存储(外部存储)辅助存储是计算机系统的永久存储区域,用于长期保存数据和程序。辅助存储设备包括硬盘驱动器(HDD)、固态硬盘(SSD)、光盘、闪存盘等。辅助存储设备的访问速度相对较慢,但它们在断电后仍能保留数据。

硬盘

硬盘(Hard Disk Drive,HDD)是一种磁性存储设备,用于长期存储计算机数据。硬盘的工作原理和主要特性如下:

  1. 组成硬盘由一个或多个盘片组成,这些盘片覆盖有磁性材料。数据通过磁头在盘片上读写。磁头与盘片之间有极小的间隙,磁头通过更改盘片上磁性材料的磁化方向来写入数据,通过检测磁化方向来读取数据。

  2. 性能指标硬盘的主要性能指标包括容量、转速(RPM,每分钟转数)、数据传输速率(吞吐量)、寻道时间和缓存大小等。容量表示硬盘可以存储的数据量,转速影响数据访问速度,数据传输速率表示硬盘每秒可以读写的数据量,寻道时间表示磁头定位到数据所需的时间,缓存大小影响硬盘处理数据的速度。

  3. 与固态硬盘的比较:与硬盘相比,固态硬盘(Solid State Drive,SSD)使用闪存来存储数据,具有更高的数据传输速率、更低的功耗和更长

    的寿命。此外,由于 SSD 没有机械部件,它们对冲击和振动具有更高的抗性,且运行更安静。但是,SSD 的价格通常高于同等容量的 HDD。在选择存储设备时,需要根据性能需求、预算和用途进行权衡。

  4. 分区和文件系统为了在硬盘上存储和管理文件,硬盘需要进行分区和格式化。分区是将硬盘划分为一个或多个逻辑区域的过程。每个分区可以使用不同的文件系统来组织和管理文件。文件系统是操作系统用于在磁盘上存储、检索和管理文件的一种数据结构。常见的文件系统包括 FAT、NTFS、HFS+、EXT 等。不同的操作系统可能使用不同的文件系统,而不同的文件系统在性能、可靠性和兼容性等方面有所差异。

  5. 数据备份和恢复由于硬盘是计算机系统中数据的长期存储设备,对数据的备份和恢复至关重要。数据备份是将硬盘上的数据复制到其他存储介质(如外部硬盘、网络存储或云存储)的过程,以防止数据丢失或损坏。数据恢复是从备份存储介质恢复丢失或损坏的数据的过程。定期进行数据备份和恢复计划是确保数据安全的重要措施。

总结一下,存储和硬盘是计算机系统中用于保存和管理数据的关键组件。存储分为主存储和辅助存储,分别用于临时和长期存储数据。硬盘是一种磁性存储设备,具有多种性能指标,如容量、转速和数据传输速率等。


三.认识文件

文件是计算机系统中用于存储和组织数据的基本单位。以下是关于文件的一些概念的详细描述:

(1)概念:

1.文件类型文件可以包含各种类型的数据,如文本、图片、音频、视频和可执行程序等。文件类型通常通过文件扩展名(例如 .txt、.jpg、.mp3 等)表示,以便操作系统和应用程序识别并正确处理文件。

2.文件路径文件路径是计算机系统中用于定位文件的唯一标识。文件路径可以是绝对路径或相对路径。绝对路径表示文件在文件系统中的完整位置,从根目录开始。相对路径表示文件相对于另一个文件或目录的位置。

3.文件属性文件具有多种属性,如文件名、大小、创建时间、修改时间和访问权限等。操作系统和文件系统通过这些属性来管理和跟踪文件。

4.访问权限为了保护文件的安全和完整性,操作系统通常会对文件实施访问权限控制。文件的访问权限可以分为读取、写入和执行等级别。不同的用户和用户组可能具有不同的访问权限。

5.文件操作操作系统和应用程序通过文件操作来读取、修改和管理文件。常见的文件操作包括创建、打开、关闭、读取、写入、重命名、删除、复制和移动等。这些操作通常通过操作系统提供的文件操作接口(如系统调用或库函数)实现。

6.文件格式文件格式是文件中数据的组织和表示方式。不同类型的文件可能采用不同的文件格式。例如,文本文件可以采用 ASCII 或 Unicode 编码,图片文件可以采用 JPEG、PNG 或 GIF 格式,音频文件可以采用 MP3 或 WAV 格式等。了解文件格式有助于更好地处理和转换文件数据。

7.文件编码文件编码是将字符数据转换为二进制数据的过程。常见的文件编码包括 ASCII、UTF-    8、UTF-16 和 UTF-32 等。选择正确的文件编码对于保证文件内容的正确显示和处理至关重要。

8.文件压缩文件压缩是一种减小文件大小的方法,以节省存储空间和加快文件传输速度。文件压缩可以采用无损压缩或有损压缩方法。无损压缩保留了原始数据的完整性,而有损压缩可能会丢失部分数据以换取更高的压缩率。常见的文件压缩格式包括 ZIP、RAR 和 7z 等。

(2)相对路径和绝对路径

  1. 相对路径相对路径是基于当前工作目录或其他参考目录的文件路径。它表示文件与当前目录或参考目录之间的相对位置。相对路径通常更短,且在移动文件或目录时更具灵活性。然而,要正确解析相对路径,必须知道相对于哪个目录。

    例如,在 Unix 或类 Unix 系统(如 Linux 和 macOS)中,假设当前工作目录为 /home/user/documents,则相对路径 images/picture.jpg 表示 /home/user/documents/images/picture.jpg。在 Windows 系统中,假设当前工作目录为 C:\Users\user\Documents,则相对路径 images\picture.jpg 表示 C:\Users\user\Documents\images\picture.jpg

  2. 相对路径中使用的一些特殊符号包括:

    • '.' 表示当前目录。
    • ' .. ' 表示上一级目录。
  3. 绝对路径绝对路径是文件在文件系统中的完整位置,从根目录开始。绝对路径提供了文件的确切位置,不依赖于当前工作目录或其他参考目录。然而,绝对路径通常较长,且在移动文件或目录时可能需要更新。

    例如,在 Unix 或类 Unix 系统中,绝对路径 /home/user/documents/images/picture.jpg 表示文件位于 /home/user/documents/images 目录下。在 Windows 系统中,绝对路径 C:\Users\user\Documents\images\picture.jpg 表示文件位于 C:\Users\user\Documents\images 目录下。

注意:这个符号 “ \ ” 叫做路径分隔符,在Java字符串中,反斜线有特殊的含义,它是转义字符的前缀,所以要在字符串中表示一个反斜线,必须写为两个反斜线 ("\")。
或者 我们可以用 “ / ” 来替代,就不需要分隔符了

总结一下,相对路径和绝对路径是文件系统中用于定位和访问文件的两种路径类型。相对路径表示文件相对于当前工作目录或其他参考目录的位置,具有更好的灵活性。绝对路径表示文件在文件系统中的完整位置,提供了确切的文件位置信息。理解相对路径和绝对路径的概念有助于在编程和文件管理中更有效地处理文件路径。

(3)文本文件和非文本文件

计算机中,根据文件内容的表示方式和组织结构,文件可以分为文本文件和非文本文件。以下是关于文本文件和非文本文件的详细描述:

  1. 文本文件文本文件包含人类可读的文本字符,通常使用某种字符编码(如 ASCII、UTF-8、UTF-16 等)将字符数据转换为二进制数据。文本文件可以用普通的文本编辑器(如 Notepad、TextEdit 或 Vim 等)打开和编辑。文本文件通常具有换行符(如\n\r\n)来分隔文件中的行。

    文本文件的示例包括:

    • 纯文本文件(如 .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 等)

总之,文本文件和非文本文件是计算机中根据文件内容的表示方式和组织结构划分的两种文件类型。文本文件包含人类可读的文本字符,可以用文本编辑器打开和编辑。非文本文件包含特定格式的数据,需要使用特定的应用程序或库来解析和处理。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书生-w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值