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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package cn.test;

  2. import java.io.*;

  3. public class FileCopyDome {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 BufferedReader fis = new BufferedReader(new InputStreamReader(System.in));
  9.                 BufferedWriter bfw;
  10.                 try {
  11.                         bfw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("out.txt")));
  12.                 } catch (FileNotFoundException e1) {
  13.                         throw new RuntimeException("生成文件失败");
  14.                 }
  15.                 String line = null;
  16.                 try {
  17.                         while((line=fis.readLine())!=null){
  18.                                 if("over".equals(line))
  19.                                         break;
  20.                                 bfw.write(line);
  21.                                 bfw.newLine();
  22.                                
  23.                         }
  24.                 } catch (IOException e) {
  25.                         throw new RuntimeException("写入文件失败");
  26.                 }finally{
  27.                         try {
  28.                                 if(line==null)
  29.                                 bfw.close();
  30.                         } catch (IOException e) {
  31.                                 throw new RuntimeException("关闭流失败");

  32.                         }
  33.                 }
  34.         }

  35. }
复制代码

1 个回复

倒序浏览
本帖最后由 田啸 于 2012-3-28 21:30 编辑

因为你用了缓冲,没有把数据从缓冲区中刷新到流中,所以不会真的写到文件中. 加上 bfw.flush();就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马