黑马程序员技术交流社区

标题: 为什么FileWriter(File file, boolean append)被覆盖了? [打印本页]

作者: 吴玉辉    时间: 2012-4-10 22:32
标题: 为什么FileWriter(File file, boolean append)被覆盖了?
  1. import java.io.*;

  2. class  P1
  3. {
  4.         public static void main(String[] args) throws IOException
  5.         {
  6.                 BufferedReader bufr =
  7.                         new BufferedReader(new InputStreamReader(System.in));

  8.                 PrintWriter out = new PrintWriter(new FileWriter("a.txt"),true);

  9.                 String line = null;

  10.                 while((line=bufr.readLine())!=null)
  11.                 {
  12.                         if("over".equals(line))
  13.                                 break;
  14.                         out.println(line.toUpperCase());
  15.                         //out.flush();
  16.                 }

  17.                 out.close();
  18.                 bufr.close();

  19.         }       
  20. }
复制代码
为什么运行程序后,我a.txt文件中的内容被覆盖了?如果想要保存原内容,怎么改代码?
作者: 李晓旭    时间: 2012-4-11 00:53
呵呵,你要注意看你的代码
PrintWriter out = new PrintWriter(new FileWriter("a.txt"),true);
这一行用的两个构造函数分别是
PrintWriter(OutputStream out, boolean autoFlush)
          通过现有的 OutputStream 创建新的 PrintWriter。
FileWriter(File file)
          根据给定的 File 对象构造一个 FileWriter 对象。

我知道其实你想用的是 FileWriter(File file,boolean append)对巴
所以把你那句要修改成
PrintWriter out = new PrintWriter(new FileWriter("a.txt",true));
就可以了
作者: 吴玉辉    时间: 2012-4-11 07:57
哦,呵呵,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2