数据的性质、格式不同,则对流的处理方法也不同,因此,在Java的输入/输出类库中,有不同的流类来对应不同性质的输入/输出流。在java.io包中,基本输入/输出流类可按其读写数据的类型之不同分为两种:字节流和字符流。
数据流分为输入流(InputStream)和输出流(OutputStream)两类。输入流只能读不能写,而输出流只能写不能读。通常程序中使用输入流读出数据,输出流写入数据,就好像数据流入到程序并从程序中流出。采用数据流使程序的输入输出操作独立与相关设备。
输入流可从键盘或文件中获得数据,输出流可向显示器、打印机或文件中传输数据。
为了提高数据的传输效率,通常使用缓冲流(Buffered Stream),即为一个流配有一个缓冲区(buffer),一个缓冲区就是专门用于传输数据的内存块。当向一个缓冲流写入数据时,系统不直接发送到外部设备,而是将数据发送到缓冲区。缓冲区自动记录数据,当缓冲区满时,系统将数据全部发送到相应的设备。
当从一个缓冲流中读取数据时,系统实际是从缓冲区中读取数据。当缓冲区空时,系统就会从相关设备自动读取数据,并读取尽可能多的数据充满缓冲区。
湖北汇智桥数据信息服务有限公司专注于项目股权价值报告,项目数据分析,股权投资价值分析及风险评定报告等