第15章 I/O(输入/输出)

时间:2023-03-09 09:18:51
第15章 I/O(输入/输出)

在变量、数组和对象中存储的数据是暂时存在的,程序结束后它们就会丢失。为了能够永久地保存创建的数据,需要将其保存在磁盘文件中,这样就可以在其它程序中使用它们。Java的I/O技术可以将数据保存到文本文件、二进制文件甚至是ZIP压缩文件中,已达到永久性保存数据的要求。

1、流是一组有序的数据序列,可分为输入流和输出流。I/O流提供了一条通道程序,可以使用这条通道把源中的字节序列送到目的地。

Java由数据流处理输入/输出模式,程序从指向源的输入流中读取源中数据,源可以是文件、网络、压缩包或其它数据源;程序通过向输出流中写入数据把信息传递到目的地。输出流的目标文件可以是文件、网络、压缩包、控制台和其他数据输出目标。

2、Java语言定义了许多类专门负责各种方式的输入/输出,这些类都被放在java.io包中。

其中,所有输入流类都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类;

而 所有输出流都是抽象类OutStream(字节输出流)或抽象类Writer(字符输出流)的子类。

在输入输出流类中所有方法遇到错误时都会引发IOException异常。

3、File类是java.io包中唯一代表磁盘文件本身的对象。

File类定义了一些与平台无关的方法来操作文件,可用通过调用File类的方法,实现创建、删除、重命名文件等操作。

File类的对象主要用来获取文件本身的一些信息,如:文件所在目录、文件的长度、文件读写权限等。

数据流可以将数据写入文件中,文件也是数据流最常用的数据媒体。

4、文件输入/输出流

5、带缓冲的输入/输出流

6、数据输入/输出流

7、ZIP压缩输入/输出流