【JavaSE】【IO】文件操作
目录
- 一、文件
-
- 1.1 文件的概念
- 1.2 文件的操作
- 1.3 路径
- 1.4 文件分类
- 二、Java中的文件元信息、路径操作
-
- 2.1 属性
- 2.2 构造方法
- 2.3 方法
-
- 2.3.1 文件路径
- 2.3.2 文件判断
- 2.3.3 文件创建删除
- 2.3.4 其他操作
- 三、文件读写操作
-
- 3.1 流(Stream)
-
- 3.1.1 字节流
-
- 3.1.1.1 InputStream
- 3.1.1.2 OutputStream
- 3.1.2 字符流
-
- 3.1.2.1 Reader
- 3.1.2.2 Writer
- 3.2 字节流字符流转换
- 四、自定义快读类
-
- 4.1 自定义快速读入
- 4.2 自定义快速输出
一、文件
1.1 文件的概念
在操作系统中会将“硬盘设备”和“软件资源”都抽象成文件。
在生活中提到的文件大多指硬盘的文件(像c盘里面的文件),就是硬盘上的数据抽象而成的。
1.2 文件的操作
在计算机上文件是由操作系统提供的“文件系统”来组织管理的,操作系统使用“目录”(也就是常说的文件夹)来管理文件的。目录是一种树形结构
1.3 路径
- 绝对路径:就是以C盘D盘(C: D:)这种盘符开头的路径。如\"E:\\植物大战僵尸\"。
- 相对路径:此时需要先指定一个基准目录,然后看通过什么样的路径来到指定文件,这个路径就是相对路径,用点开头。此时用一个点表示当前目录,两个点表示当前目录上一级目录。
举例:
假如我们要找“E:\\植物大战僵尸\\pvzHE\"目录下的\"fonts\"文件。
- 如果我们当前在“E:\\植物大战僵尸\\pvzHE\"目录下,直接使用“.\\fonts”
- 如果我们在“E:\\植物大战僵尸”目录下,使用“.\\pvzHE\\fonts”
- 如果我们在\"E:\\植物大战僵尸\\pvzHE\\新建文件夹\"目录下,使用“…\\fonts”
不同场景下的基准目录:
- 在命令行操作,当前目录就是基准目录。
- 在idea操作项目目录就是基准目录(打jar包等另行考虑)。
- 在图形化工具上就要看实际情况了。
1.4 文件分类
在编程角度上将文件分为两类:
- 文本文件:文件中保存的都是字符串,保存的都是合法的字符(合法的字符就是符合当前字符集编码的字符)。
- 二进制文件:文件中保存的仅仅是二进制数据。
二、Java中的文件元信息、路径操作
Java 中通过 java.io.File 类来对一个文件(包括目录)进行抽象的描述。
2.1 属性
2.2 构造方法
2.3 方法
2.3.1 文件路径
2.3.2 文件判断
2.3.3 文件创建删除
2.3.4 其他操作
三、文件读写操作
在Java中对文件的读写操作使用流对象(stream)
3.1 流(Stream)
在标准库中提供的文件读写操作的类有很多,但可以分为两类。
3.1.1 字节流
字节流对应着二进制文件,每次读写的最小单位都是字节(Byte)。
字节流提供了两个父类(InputStream)(OutputStream)来供继承。
3.1.1.1 InputStream
InputStream在源码中是一个抽象类,不能直接new对象。提供了一个子类FileInputStream。
类需要传文件路径,如果文件没找到还会抛出FileNotFoundException异常。
方法简介