在变量、数组和对象中存储的数据是暂时存在的,程序结束后它们就会丢失。为了能够永久地保存创建的数据,需要将其保存在磁盘文件中,这样就可以在其它程序中使用它们。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压缩输入/输出流