2.4.1 文件操作章 文件概念

这篇博客介绍了文件的概念,文件系统通过树形结构管理文件,目录与文件构成的树型结构,以及文件路径的绝对路径和相对路径。在Java中,File类用于抽象描述文件和目录,文件分为文本和二进制两种类型,操作它们需要不同的方法。字符流在底层依赖字节流。
摘要由CSDN通过智能技术生成

1.0 初识文件

文件的认识

  • 操作系统帮我把硬盘的信息都封装成文件,程序员只需要了解文件的接口即可
  • 操作文件即操作硬盘
  • 操作系统通过"文件系统"这样的模块来管理硬盘
  • NTFS 是windows 上的文件系统,背后有一定的格式来存取与组织硬盘的数据,NXT4 是linux 上的文件系统
  • 我们先来认识狭义上的文件(file)。针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往 往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念, 就类似办公桌上的一份份真实的文件一般。

树型结构组织 和 目录

  • 不同的文件系统,管理文件的方式都是类似的
  • 通过目录(directory目录/文件夹) - 文件 构成了N叉树的 树形结构
  • 同时,随着文件越来越多,对文件的系统管理也被提上了日程,如何进行文件的组织呢,一种合乎自然 的想法出现了,就是按照层级结构进行组织 —— 也就是我们数据结构中学习过的树形结构。这样,一种 专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓文件夹(folder)或者目录(directory)的概 念。

文件路径(Path)

  • 如何在文件系统中如何定位我们的一个唯一的文件就成为当前要解决的问题,但这难不倒计算机科学 家,因为从树型结构的角度来看,树中的每个结点都可以被一条从根开始,一直到达的结点的路径所描 述,而这种描述方式就被称为文件的绝对路径(absolute path)
  • 从原始目录开始的为"绝对路径"
  • …/ ./ 的为 相对路径,需要一个基准目录

2.0 Java 中操作文件

概念

Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。注意,有 File 对象,并不 代表真实存在该文件.

两种文件

文件系统上存储的文件,具体来说又分两大类

文本文件

  • 存初的是字符

二进制文件

  • 二进制数据

操作区分

  • 后续正对文件的操作,二进制和文本的操作是完全不同的

小知识

  • word,execl 都是富文本,它不仅记录内容还记录很多信息,比如行间距,字体等等,把他们拖到notepad 则全是映射不了的乱码,但是execl另存为csv 则是单纯的文本文件
  • c语言标准库不支持文件操作系统用c删除一个文件非常费劲

理解IO

  • 你是站在cpu的视角,cou只能访存
  • I input 是把硬盘的东西写到内存
  • O output 是吧内存的东西写到硬盘

两种文件的关系

  • 字符流的底层还是调用字节流
  • 因此字符流的构造可以用字节流的对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_Ap0stoL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值