
BufferedOutputStream 和 BufferedInputStream
BufferedOutputStream :带有缓冲的输出流,允许一次向硬盘写入多个字节的数据。
BufferedInputStream:带缓冲的输入流,允许一次向程序中读入多个字节的数据。
BufferedOutputStream 和BufferedInputStream都是包裹流,必须依附于OutputStream和InputStream
例子:利用BufferedOutputStream 和BufferedInputStream 完成大容量文件的复制,这远比单纯利用FileInputStream和FileOutputStream要快的多

一定要注意,bis.read(buf,0,1024);这不是从buf中读数据,而是从bis所关联到的“D:\\综艺\\电影\\猫和老鼠\\CD4.rmvb”文件中读取数据,并将读取的数据写入bis自己的默认缓冲区中,然后再将缓冲区的内容写入buf数组中,每次最多向buf数组中写入1024个字节,返回实际写入buf数组的字节个数,如果读到了文件的末尾,无法再向buf数组中写入数据,则返回-1
BufferedInputStream流中有public int read(byte[] b)方法用来把从当前流关联到的设备中读取出来的数据存入一个byte数组中
BufferedOutputStream流中有public int write(byte[] b)方法用来把byte数组中的数据输出来当前流所关联到的设备中
如果我们希望用BufferedInputStream 和 BufferedOutputStream 完成“将一个设备中的数据导入另一个设备中”,我们就应该定义一个临时的byte类型的数据,用这个临时数组作为输入流和输出流进行交互的中转枢纽。dat转换什么格式的
BufferedReader 和BufferedWriter


实例:利用BufferedReader 和BufferedWriter完成文本文件的复制
数据流DataInputStream DataOutputStream
DataInputStream能够以一种与机器无关的方式,直接从底层字节输入流读取JAVA基本类型和String类型的数据。常用方法包括:


DataInputStream 是包裹流,必须依附于InputStream
DataOutputStream能够以一种机器无关的方式,直接将JAVA基本类型和String类型数据写出到其他的字节输出流。常用方法包括:

DataOutputStream 是包裹流,它必须依附于OutputStream
数据流实例:
编程实现将long类型数据写入byte数组,然后再从byte数组中吧该数据读出来{
*这是Socket编程中经常要完成的功能。
*因为网络编程中经常要把数据存入byte数组中,然后把byte数组打包成数据包(DatagramPacket),再把数据包经过网络传输到目的机,目的机再从byte数组中把原数值型数据还原回来。
}
本程序要使用到:
DataInputStream
DataOutputStream
ByteArrayInputStream
ByteArrayOutputStream
转换流:OutputStreamWriter InputStreamReader
OutputStreamWriter 流是把OutputStream流 转化成Writer流的流
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-77405-2.html
组织纪律和战斗力是不行的
反咬一口啊