A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 abian 于 2013-8-1 22:27 编辑
  1. File srcFile = files[i];
  2.                                 // 创建字符输入流
  3.                                 reader = new BufferedReader(new FileReader(srcFile));
  4.                                 // 修改文件扩展名
  5.                                 String filename = srcFile.getName();
  6.                                 filename = filename.substring(0, filename.lastIndexOf(".") + 1)
  7.                                                 + "txt";
  8.                                 // 创建更改路径后和修改扩展名后的文件
  9.                                 File desFile = new File(des, filename);
  10.                                 // 创建字符输出流,然后复制文件到指定目录
  11.                                 writer = new BufferedWriter(new FileWriter(desFile));
  12.                                 String line = "";
  13.                                 while ((line = reader.readLine()) != null) {
  14.                                         writer.write(line);
  15.                                         writer.newLine();//换行

  16.                                 }
  17.                        writer.flush();//<span style="line-height: 1.5;">为啥写完之后要刷新一下缓存 他的作用是什么?</span>
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 大神又在这装

查看全部评分

3 个回复

倒序浏览
public void flush() throws IOException刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
如果此流的预期目标是由基础操作系统提供的一个抽象(如一个文件),则刷新此流只能保证将以前写入到流的字节传递给操作系统进行写入,但不保证能将这些字节实际写入到物理设备(如磁盘驱动器)。   
这个是jdk6.0中描述。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
sergio 发表于 2013-8-1 23:15
public void flush()  throws IOException刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是 ...

学习了 谢谢
回复 使用道具 举报 0 1
您需要登录后才可以回帖 登录 | 加入黑马