因为input/ouput是对称的,故只介绍其一
* void write(int b)往流中写一个字节b * void write(byte b[])往流中写一个字节数组b * void write(byte b[],int off,int len)把字节数组b中从下标off开始,长度为len的字节
* 按字节操作,直接写入磁盘,没有缓冲,效率极低。 * FileOutputStream dos = new FileOutputStream("file_path") * void write(int b)往流中写一个字节b * void write(byte b[])往流中写一个字节数组b * void write(byte b[],int off,int len)把字节数组b中从下标off开始,长度为len的字节
* 按类型操作,直接写入磁盘,没有缓冲,效率比FileOutputStream稍高(按类型比按字节每次会多 操作几个字节) * DataOutputStream dos = new DataOutputStream(new FileOutputStream("file_path")) * void writeInt(int a) * void writeFloat(float f)
* write方法FileOutputStream类似,但是不会每次写出缓冲区,而是等缓冲区满了一次写出, 对大文件效率非常高 * BufferedOutputStream dos = new BufferedOutputStream(new FileOutputStream("file_path")) * void write(int b)往流中写一个字节b * void write(byte b[])往流中写一个字节数组b * void write(byte b[],int off,int len)把字节数组b中从下标off开始,长度为len的字节
* FileOutputStream:write()一滴一滴的倒 * FileOutputStream dos = new FileOutputStream("file_path") * DataOutputStream:writeXxx()一瓢一瓢的倒 * DataOutputStream dos = new DataOutputStream(new FileOutputStream("file_path")) * BufferedOutputStream:write()先一瓢一瓢倒到一个桶里,再从桶里倒到缸里 * BufferedOutputStream dos = new BufferedOutputStream(new FileOutputStream("file_path"))
而且不能指定文件编码