文件操作和IO(1)

目录

一、文件的简单认识

二、文件I/O的简单概述

三、目录和路径               

1、目录

2、路径

(1)绝对路径

(2)相对路径

四、文本文件和二进制文件

1、文本文件

2、二进制文件

3、如何区分文本文件和二进制文件

4、Windows的打开文件机制

5、文件中权限的概念

5、快捷方式的文件


一、文件的简单认识

        狭义方面上认识文件,针对持久化存储的硬件I/O设备,我们想要保存数据,往往保存的不是一个整体,而是独立成一个一个的单元进行保存,这个独立的单元就被抽象成文件,就像办公桌上真实的文件那样。

注意:硬盘 != 磁盘

磁盘属于外存的一种,像u盘、磁带那种

而硬盘就是我们电脑存储数据的硬件设备,硬盘分为机械硬盘和固态硬盘

其中的机械硬盘是使用磁性介质来存储二进制数据的

固态硬盘的内部使用了集成电路,和磁性介质无关,速度比机械硬盘快很多

对于机械硬盘来说,更擅长顺序读写,不擅长随机读写,如图是机械硬盘:

文件操作和IO(1)_第1张图片

        其中文件除了有数据内容之外,还有一些其他的信息,例如文件类型、文件名、文件大小、文件的创建时间等,这些信息不作为文件的数据而存在,可以把它们看成文件的元信息。

文件操作和IO(1)_第2张图片

对于计算机来说,文件是一个广义的概念

它可以指:硬盘上的普通文件

                  硬盘上的目录

                  一些硬件设备,例如键盘,显示器,网卡,也被操作系统称为文件


二、文件I/O的简单概述

        文件I/O中,I就是input,O就是output,文件I/O就是对文件的输入 / 输出操作,说白了就是对文件的读写操作。


三、目录和路径               

1、目录

        在计算机中,随着文件越来越多,计算机应该如何管理和组织这些这些文件呢?随后,层级结构就出来了,也就是树形结构,这里的树是N叉树,用这种结构进行管理数据,其中,计算机中的文件夹就称为目录,一个目录中里面又可以有很多子节点,普通文件就是叶子节点。

如图就是树形结构:

文件操作和IO(1)_第3张图片

2、路径

(1)绝对路径

        如何在计算机这么多的文件精确定位要查找的文件呢?从树形结构看,树中每个节点都有唯一、相同的根节点,我们可以从根节点出发,一层一层往下找我们要查找的文件,其中的路径就是绝对路径。

如图就是绝对路径:

(2)相对路径

        相对路径就是从当前位置,当前路径用点表示: ,然后往下找相对于的文件,这中间的路径,就是相对路径。


四、文本文件和二进制文件

1、文本文件

        普通文件中,因为保存的内容不同,分为不同的不同的文件类型,一般分为文本文件二进制文件,分别指代保存被字符集编码的⽂本按照标准格式保存的非被字符集编码过的文件
其中普通英文使用ASCII码表,中文使用GBK / UTF8码表。

无论使用哪种码表,文件存储的数据在指定的码表中有据可查,就是合法字符,这种文件称为文本文件。

2、二进制文件

        二进制文件没有上述文本文件的规定,这里的内容存储任何数据都可以。

3、如何区分文本文件和二进制文件

        可以使用记事本来打开文件,如果显示的内容是正常内容,不是乱码的就说明的文本文件,反之则是二进制文件。如图示例:

文本文件:

文件操作和IO(1)_第4张图片

正常内容

文件操作和IO(1)_第5张图片

二进制文件:

文件操作和IO(1)_第6张图片

乱码

文件操作和IO(1)_第7张图片

        图片、音频、视频、可执行程序、静态库等等都属于二进制文件。

        文本文档、.c 、.java 、.cpp等等都属于文本文件。

        还有一种富文本文件,例如word,docx都为富文本文件。

4、Windows的打开文件机制

Windows操作系统上,会按照文件名中的后缀来确定文件类型以及该类型文件的默认打开程序。但这个习俗并不是通用的,在OSX、Unix、Linux等操作系统上,就没有这样的习惯,⼀般不对文件类型做如此精确地分类。
文件操作和IO(1)_第8张图片

5、文件中权限的概念

文件由于被操作系统进行了管理,所以根据不同的用户,会赋予用户不同的对待该文件地权限,一般地可以认为有可读,可写,可执行权限。

文件操作和IO(1)_第9张图片

5、快捷方式的文件

Windows操作系统上,还有一类文件比较特殊,就是平时我们看到的快捷方式,这种文件只是对真实文件的一种引用而已,其它操作系统上也有类似的概念,例如,软链接等。

文件操作和IO(1)_第10张图片

最后,很多操作系统为了实现接口的统一性,将所有I/O设备都抽象成文件的概念,使用这一理念最为知名的就是Unix,Linux操作系统--万物皆文件


都看到这了,点个赞再走吧,谢谢谢谢谢

你可能感兴趣的:(java-ee)