这里写目录标题
13.1 文件概述
在本节,我们主要介绍文件有关的一些基本概念和常识,Java中处 理文件的基本思路和类结构,以及接下来的章节安排。
13.1.1 基本概念和常识
下面,我们先介绍一些基本概念和常识,包括二进制思维、文件类 型、文本文件的编码、文件系统和文件读写等。
1.二进制思维
为了透彻理解文件,我们首先要有一个二进制思维。 所有文件, 不论是可执行文件、图片文件、视频文件、Word文件、压缩文件、txt 文件,都没什么可神秘的,它们都是以0和1的二进制形式保存的。我们 所看到的图片、视频、文本,都是应用程序对这些二进制的解析结果。
作为程序员,我们应该有一个编辑器,能查看文件的二进制形式, 比如UltraEdit,它支持以十六进制进行查看和编辑。比如,一个文本文 件,看到的内容为:
打开十六进制编辑,看到的内容如图13-1所示。
左边的部分就是其对应的十六进制,“hello"对应的十六进制 是"68656C 6C 6F”,对应ASCII码编号"104101108108111",“马"对应的 十六进制是"E9A9AC”,这是"马"的UTF-8编码。
2.文件类型
虽然所有数据都是以二进制形式保存的,但为了方便处理数据,高 级语言引入了数据类型的概念。文件处理也类似,所有文件都是以二进 制形式保存的,但为了便于理解和处理文件,文件也有文件类型的概 念。
文件类型通常以扩展名的形式体现,比如,PDF文件类型的扩展名 是.pdf,图片文件的一种常见扩展名是.jpg,压缩文件的一种常见扩展名 是.zip。每种文件类型都有一定的格式,代表着文件含义和二进制之间的映射关系。比如一个Word文件,其中有文本、图片、表格,文本可 能有颜色、字体、字号等,doc文件类型就定义了这些内容和二进制表 示之间的映射关系。有的文件类型的格式是公开的,有的可能是私有 的,我们也可以定义自己私有的文件格式。
对于一种文件类型,往往有一种或多种应用程序可以解读它,进行 查看和编辑,一个应用程序往往可以解读一种或多种文件类型。在操作 系统中,一种扩展名往往关联一个应用程序,比如.doc后缀关联Word应 用。用户通过双击试图打开某扩展名的文件时,操作系统查找关联的应 用程序,启动该程序,传递该文件路径给它,程序再打开该文件。
需要说明的是,给文件加正确的扩展名是一种惯例,但并不是强制 的,如果扩展名和文件类型不匹