StringBuffer中的flush()方法作用
2015-06-15 15:24
141 查看
在java API1.6对flush()方法的介绍如下:
flush
刷新该流的缓冲。 指定者:接口
以上是API中介绍的,通过我的测试发现其具体的用处如下:
观察如下代码:
该代码是每次写入文件5000长度的buffer,总共写入60次。
如果没有加上第30行注释的bw.flush().在第29行执行的程序,写入的数据并不是写入到文件中而是写入到内存中,此时当
StringBuffer超过内存限制的时候,会把缓存中的数据才会写入到文件中,相当于超过限制的执行了一次bw.flush();
而加上bw.flush()后,会在每次执行到此处的时候都会把缓存中的数据写入到文件中,并清空缓存。
但是需要注意的是,如果加上这句,每次循环都会执行一次,同样的会增加用时。所以时间和占用缓存这个需要做比较了
方法摘要 | |
---|---|
void | close() 关闭此流,但要先刷新它。 |
void | flush() 刷新该流的缓冲。 |
void | newLine() 写入一个行分隔符。 |
void | , int, int)]write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 |
void | write(int c) 写入单个字符。 |
void | write(String s, int off, int len) 写入字符串的某一部分。 |
publicvoid flush()
throws IOException
刷新该流的缓冲。 指定者:接口
Flushable中的
flush指定者:类
Writer中的
flush抛出:
IOException- 如果发生 I/O 错误
以上是API中介绍的,通过我的测试发现其具体的用处如下:
观察如下代码:
package mosTest;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class lis {
public staticvoid main(String[] args) throws IOException {
File file1 = new File("D:\\io\\out.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(file1));
StringBuilder buffer = new StringBuilder("S|1|S0180||||");
buffer.append("\r\n");
List subList = new ArrayList();
List listid = new ArrayList();
long s= System.currentTimeMillis();
for (int i = 0; i < 60; i++) {
for(int k=0; k<5000; k++){
buffer.append("KKKKKKKKKKKKKKKKKKKKKKKKKK"+k);
buffer.append("\r\n");
}
bw.write(buffer.toString());
//bw.flush();
buffer = new StringBuilder();
}
bw.close();
}
}
该代码是每次写入文件5000长度的buffer,总共写入60次。
如果没有加上第30行注释的bw.flush().在第29行执行的程序,写入的数据并不是写入到文件中而是写入到内存中,此时当
StringBuffer超过内存限制的时候,会把缓存中的数据才会写入到文件中,相当于超过限制的执行了一次bw.flush();
而加上bw.flush()后,会在每次执行到此处的时候都会把缓存中的数据写入到文件中,并清空缓存。
但是需要注意的是,如果加上这句,每次循环都会执行一次,同样的会增加用时。所以时间和占用缓存这个需要做比较了
相关文章推荐
- jQuery事件
- 剑指offer—第三章高质量代码(合并两个排序链表)
- JSON实战案例--使用JSON进行数据交换实例
- css3做的圆特效
- Json日期转换误差
- 又一个前端的小渣渣诞生了
- 前端调试技巧
- 一只在读iOS菜鸟十个月来从零基础到拿到实习Offer的总结
- JQuery(DOM操作)
- jquery判断元素是否有某个属性
- 基于jQuery图片元素网格布局插件
- 57 js 背景图片以及背景色
- 向CDH5集群中添加新的主机节点
- JavaScript 常用互动方法
- Node.js学习--基础知识(8)--全局对象和全局变量
- Javascript模块化编程(一):模块的写法
- JS类库函数收集中....
- extjs
- jquery parent() parents() closest()区别
- 使用jquery过滤上传文件的类型和限制文件的大小