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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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文件中的内容被覆盖了?如果想要保存原内容,怎么改代码?

2 个回复

倒序浏览
呵呵,你要注意看你的代码
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));
就可以了

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
哦,呵呵,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马