hi~好久不见!
你们的小猪回来了!
前段时间有些事情,没怎么写博客,这期博客给你们讲讲文件操作。
如果有哪里不够完善或者写错了,请大佬们帮忙指正,谢谢!
IO 就是指“输入和输出”,由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等就需要IO接口。根据针对的对象不同,IO模式可以分为磁盘IO模型和网络IO模型。
IO操作会涉及到用户空间和内核空间的转换,先来理解以下规则:
1),内存空间分为用户空间和内核空间,也称为用户缓冲区和内核缓冲区;
2),用户的应用程序不能直接操作内核空间,需要将数据从内核空间拷贝到用户空间才能使用;
3),无论是read操作,还是write操作,都只能在内核空间里执行;
4),磁盘IO和网络IO请求加载到内存的数据都是先放在内核空间的;
(这里简单总结一下IO流,后几篇博客会详细介绍)
Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不
代表真实存在该文件。
我们可以如上图一样理解IO流,其中有三个比较重要的类,分别是InputStream、FileInputStream和OutputStream。
存储:根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。那什么是文件存储呢?
文件存储(也称为文件级存储或基于文件的存储),数据会以单条信息的形式存储在文件夹中,如果需要访问该数据,可以查找相应的路径。存储在文件中的数据会根据数量有限的元数据来进行整理和检索,这些元数据会告诉计算机文件所在的确切位置。它就像是数据文件的库卡目录。
例子图片:
硬盘:一般是指电脑硬盘,是计算机的主要存储设备。用来保存文件数据。
针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念。
文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等并不作为文件的数据而存在,我们把这部分信息可以视为文件的元信息。
我们通过层级结构来管理文件------数据结构中的树型结构,也就是我们所说的文件夹和目录。
文件路径包括绝对路径和相对路径,拿树型结构来说,从一个树型结构的根节点开始,到目标节点,此路径为绝对路径;从任意节点出发到目标节点,此路径为相对路径。
绝对路径:
相对路径:
文件由于被操作系统进行了管理,所以根据不同的用户,会赋予用户不同的对待该文件的权限,一般地可以认为有可读、可写、可执行权限。
以上就是文件操作的基本内容,希望对你有帮助!
下期再见了~