BufferedOutputStream
介绍
继承父亲的成员方法
- java.io.OutputStream
这个抽象类是表示字节输出流的所有类的超类。 输出流接收输出字节并将其发送到某个接收器。
定义了一些子类共性的成员方法:
1.public abstract void write(int b)throws IOException
将指定的字节写入此输出流。 write的一般合同是将一个字节写入输出流
2.public void write(byte[] b)throws IOException
将b.length字节从指定的字节数组写入此输出流。 write(b)的一般合约是应该具有与电话write(b, 0, b.length)完全相同的效果。
3.public void write(byte[] b,int off,int len)throws IOException
从指定的字节数组写入len字节,从偏移off开始输出到此输出流。
write(b, off, len)的一般合同是数组b中的一些字节按顺序写入输出流; 元素b[off]是写入的第一个字节, b[off+len-1]是此操作写入的最后一个字节。
- public void flush()throws IOException
刷新此输出流并强制任何缓冲的输出字节被写出。
flush的一般合同是,呼叫它表明,如果先前写入的任何字节已经通过输出流的实现进行缓冲,则这些字节应该立即被写入到它们的预定目的地。
5.public void close()throws IOException
关闭此输出流并释放与此流相关联的任何系统资源。 close的一般合同是关闭输出流。 封闭流不能执行输出操作,无法重新打开。
构造方法:
*BufferedOutputStream(OutputStream out)
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
BufferedOutputStream(OutputStream out, int size)
创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。
OutputStream out:字节输出流
- 我们可以传递FileOutPutStream,缓冲流会给FileOutputStream增加一个缓冲区提高写入效率
- int size:指定缓冲区的大小,不指定默认
- 使用步骤
- 1.创建File OutputStream,构造方法中绑定目的地
- 2.创建Bufferedoutputstream对象,构造方法中传递fileoutputstream对象,提高对象效率
- 3.调用Bufferedoutputstream对象中的write,把数据写入到内部缓冲区中
- 4.调用bufferedoutpputstream对象中flush,把内部缓冲区的数据,刷新到文件中
- 5.释放资源(会先调用flush方法刷新数据,第四步可以省略)
代码块
public class Demo01BufferedOutputStream {
public static void main(String[] args) throws IOException {
FileOutputStream fo=new FileOutputStream("src\\cn\\itcast\\IO\\BufferedStream\\1.txt");
BufferedOutputStream bo=new BufferedOutputStream(fo);
bo.write("nihao".getBytes(),0,"nihao".length());
bo.flush();
bo.close();
}
}
Writer
介绍:
字符型缓冲输出
构造方法
BufferedWriter(Writer out)
创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)
创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。
成员方法
void close()
关闭流,先刷新。
void flush()
刷新流。
void newLine()
写一行行分隔符。
void write(char[] cbuf, int off, int len)
写入字符数组的一部分。
void write(int c)
写一个字符
void write(String s, int off, int len)
写一个字符串的一部分。
- 使用步骤,
- 1.创建字符缓冲输出流对象,构造方法中传递字符输出流
- 2.调用字符缓冲输出流中的方法write,把数据写入到内存缓冲区中
- 3.调用字符缓冲输出流中的方法flush,把内存缓冲区中的数据,刷新到文件中
- 4.释放资源
代码块
public class DemoBufferedWriter {
public static void main(String[] args)throws IOException {
BufferedWriter bw=new BufferedWriter(new FileWriter("src\\cn\\itcast\\IO\\BufferedStream\\bufferedwriter.txt"));
for (int i = 0; i < 10; i++) {
bw.write("你好,请吃饭!");
bw.newLine();//转行
}
bw.flush();
bw.close();
System.out.println();
/*public void println() {
newLine();
}*/
}
}
来源:CSDN
作者:tangshuai96
链接:https://blog.csdn.net/tangshuai96/article/details/104283568