Hello,大家好呀,上一周提到的是异常及其知识,本周我们要讲的是IO流(输入输出流)。
数据流
输入输出(input/output,I/O)技术用于处理设备之间的数据传输,指程序与外部设备或其他计算机进行数据交换的过程,比如读/写文件、网络通信等。针对程序而言,将外部数据(磁盘、光盘等存储设备的数据)读取到程序(内存)中称为输入,将程序(内存)数据输出到磁盘、光盘等存储设备中称为输出。
Java程序中,对于数据的输入输出操作以“流”(stream)的方式进行。java.io包下提供了各种“流”的类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。Java中的IO流按数据流的流向不同分为输入流和输出流;按照操作数据单位不同分为字节流和字符流;按流的功能可以分为底层的节点流和上层的处理流两类。节点流直接从数据源或目的地读写数据,而处理流不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。
FileReader 与 FileWrite
FileReader与FileWriter分别继承自Reader和Writer,以字符为单位广泛用于文件操作的节点流。FileReader类用于从文本文件读数据,每次读一个字符或者一个字符数练FileWriter类用于从文本文件写数据,每次写入一个字符、一个字符数组或者一个字符串。
Java中操作流的基本过程可总结为以下四个步骤:
1.声明流对象的引用变量,赋初值为null。
2.在try代码块中完成对输入流、输出流的操作。
3.在catch代码块中对可能抛出的异常进行捕获处理。
4.在finally代码块中关闭输入输出流,关闭操作也需要在try-catch代码块中书写。
FileInputStream与FileOutputStream
FileInputStream与FileOutputStream分别继承自InputStream和OutputStream,以字节为单位广泛用于文件操作的节点流。FileInputStream类用于从文件读取数据,FileOutputStream类用于将数据写入文件。
复制文件就是将一个文件读出然后写入另一个文件的过程,利用FilelnputStream和FileOutputStream编写一个程序,实现对指定图片进行加密复制(加密复制是在写入数据前对其进行加密处理,这里采用异或运算)。
好啦,今天的分享就到这里了,希望能给有需要的朋友们一些帮助,有错误的话还请大家指正。