Java语言的输入输出与文件处理
Java语言的输入输出
java语言的输入输出功能必须借助于输入输出包java.io来实现。
输入流:将数据从外设或外存(如键盘、鼠标、文件等)传递到应用程序的流称为输入流
输出流:将数据从应用程序传递到外设或外存(如屏幕、打印机、文件等)的流称为输出流。
注意:对于输入流只能从其读取数据而不能向其写入数据,同样对于输出流只能向其写入数据而不能从其读取数据。
输入输出的最大特点是数据的获取和发送是沿着数据序列顺序进行,每一个数据都必须等待排在它前面的数据读入或送出之后才能被读写,每次读写操作处理的都是序列中剩余的未读写数据中的第一个,而不能随意选择输入输出位置。
缓冲流即为一个流配有一个缓冲区,这个缓冲区就是专门用于传送数据的一块内存。
缓冲流作用:提高了数据的传输效率。
缓冲流的作用过程:当向一个缓冲流写入数据时,系统将数据发送到缓冲区,而不是直接发送到外部设备。缓冲区自动记录数据,当缓冲区满时,系统将数据全部发送到相应的外部设备。当从一个缓冲流读取数据时,系统实际是从缓冲区中读取数据。当缓冲区空时,系统就会从相关的外部设备自动读取数据,并读取尽可能多的数据填满缓冲区。
使用InputStream和OutputStream流类
InputStream和OutputStream流类时Java语言中用来处理以位(bit)为单位的流,它除了可用来处理二进制文件的数据之外,也可用来处理文本文件。
注意:流中的方法都声明抛出异常,所以程序中调用流方法时必须处理异常,否则编译不能通过。 在使用I/O流进行输入输出操作时,可以使用try-with-res