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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 凉宫蛋蛋 于 2012-7-19 20:48 编辑
  1. BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));

  2. BufferedWriter bufw = new BufferedWriter (new FileWriter("d:\\Test006.txt"));

  3.         String line = null;
  4.         String end = "end";
  5.         while((line = bufr.readLine()) != null){
  6.             if(line.equals(end)){
  7.                 System.out.println("程序退出");
  8.                 break;
  9.             }else{
  10.                 pw.append(line);
  11.                 pw.flush();
  12.                 System.out.println("成功写入:" + line.toString());
  13.             }
  14.         }
复制代码
请教一下,这样写入的时候,是将txt重写了,之前写入的数据不会保存,怎么样在保留txt已有的数据的基础上,写入新的数据呢?

评分

参与人数 1技术分 +1 收起 理由
刘笑 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
BufferedWriter bufw = new BufferedWriter (new FileWriter("d:\\Test006.txt",true));



构造文件输出流时加上 一个参数  true  就可以了 表示输出追加到文件末尾

评分

参与人数 1技术分 +1 收起 理由
蒋映辉 + 1

查看全部评分

回复 使用道具 举报
你好,这个JDK的类库都帮我们实现好了。如FileWriter类:
public FileWriter(File file,boolean append)
           throws IOException
根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。

例子程序如下:
import java.io.File ;
import java.io.Writer ;
import java.io.FileWriter ;
public class WriterDemo02{
        public static void main(String args[]) throws Exception{        // 异常抛出,不处理
                // 第1步、使用File类找到一个文件
                File f= new File("d:" + File.separator + "test.txt") ;        // 声明File对象
                // 第2步、通过子类实例化父类对象
                Writer out = null ;        // 准备好一个输出的对象
                out = new FileWriter(f,true)  ;        // 通过对象多态性,进行实例化
                // 第3步、进行写操作
                String str = "\r\nLIXINGHUA\r\nHello World!!!" ;// 准备一个字符串
                out.write(str) ;// 将内容输出,保存文件
                // 第4步、关闭输出流
                out.close() ;// 关闭输出流
        }
};
回复 使用道具 举报
BufferedWriter bufw = new BufferedWriter (new FileWriter("d:\\Test006.txt",true));

  被人抢了
回复 使用道具 举报
丁二跃 发表于 2012-7-19 20:14
BufferedWriter bufw = new BufferedWriter (new FileWriter("d:\\Test006.txt",true));

谢谢本楼,还有楼下的兄弟
我还想着怎么自己去写一个方法,痛苦死了...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马