• 【Java第24期】:IO、存储、硬盘和文件系统的相关知识


    hi~好久不见!
    你们的小猪回来了!
    在这里插入图片描述
    前段时间有些事情,没怎么写博客,这期博客给你们讲讲文件操作。

    前言

    如果有哪里不够完善或者写错了,请大佬们帮忙指正,谢谢!
    在这里插入图片描述

    一,IO的相关知识

    1,IO的基本概念

    IO 就是指“输入和输出”,由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等就需要IO接口。根据针对的对象不同,IO模式可以分为磁盘IO模型和网络IO模型。
    IO操作会涉及到用户空间和内核空间的转换,先来理解以下规则:

    1),内存空间分为用户空间和内核空间,也称为用户缓冲区和内核缓冲区;
    2),用户的应用程序不能直接操作内核空间,需要将数据从内核空间拷贝到用户空间才能使用;
    3),无论是read操作,还是write操作,都只能在内核空间里执行;
    4),磁盘IO和网络IO请求加载到内存的数据都是先放在内核空间的;

    2,文件操作—IO流

    (这里简单总结一下IO流,后几篇博客会详细介绍)
    Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不
    代表真实存在该文件。
    在这里插入图片描述
    我们可以如上图一样理解IO流,其中有三个比较重要的类,分别是InputStream、FileInputStream和OutputStream。

    二,存储和硬盘的相关知识

    存储:根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。那什么是文件存储呢?
    文件存储(也称为文件级存储或基于文件的存储),数据会以单条信息的形式存储在文件夹中,如果需要访问该数据,可以查找相应的路径。存储在文件中的数据会根据数量有限的元数据来进行整理和检索,这些元数据会告诉计算机文件所在的确切位置。它就像是数据文件的库卡目录。
    例子图片:
    在这里插入图片描述
    硬盘:一般是指电脑硬盘,是计算机的主要存储设备。用来保存文件数据。

    三,文件操作

    1,认识文件

    针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念。
    在这里插入图片描述
    文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等并不作为文件的数据而存在,我们把这部分信息可以视为文件的元信息。
    在这里插入图片描述
    在这里插入图片描述

    2,树型结构和目录

    我们通过层级结构来管理文件------数据结构中的树型结构,也就是我们所说的文件夹和目录。
    在这里插入图片描述

    3,文件路径

    文件路径包括绝对路径和相对路径,拿树型结构来说,从一个树型结构的根节点开始,到目标节点,此路径为绝对路径;从任意节点出发到目标节点,此路径为相对路径。
    绝对路径:
    在这里插入图片描述
    相对路径:

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

    以上就是文件操作的基本内容,希望对你有帮助!
    在这里插入图片描述
    下期再见了~

    请添加图片描述

  • 相关阅读:
    PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解
    React Native学习笔记----React Native简介与环境安装
    算法——二叉树应用
    AVL树的插入(C++实现)
    loam 框架流程描述
    解决TypeError: type complex doesn‘t define __round__ method
    Nginx 反向代理 SSL 证书绑定域名
    可编程数据平面(论文阅读)
    强缓存与协商缓存
    归并排序和计数排序
  • 原文地址:https://blog.csdn.net/m0_62262008/article/details/126616938