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

© ↙五线谱╲ 中级黑马   /  2013-12-4 10:56  /  1033 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public static void write(Word word) throws Exception{
         
        File file = new File("tokenOut.txt");
         
        if(!file.exists()){
            
            System.out.println("file not exist!");
        }else{
            
            DataOutputStream out = new DataOutputStream(new FileOutputStream(file));
            System.out.println("--->" + word.getMessage());
            out.writeUTF(new String(word.getMessage().getBytes(), "UTF-8"));
        }
    }
中的out.writeUTF(new String(word.getMessage().getBytes(), "UTF-8"));
每次都把前面写的覆盖了,怎么办?

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

4 个回复

倒序浏览
是应该采取追加写的方式吧,
DataOutputStream out = new DataOutputStream(
new FileOutputStream(file,true));

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

回复 使用道具 举报
楼主,你好,你这句代码用错构造方法了,DataOutputStream out = new DataOutputStream(new FileOutputStream(file));,如果你用了FileOutputStream(File file)这个构造方法的话 ,你每一次运行
代码的时候,程序会从新创建一个文件的,把原来文件覆盖掉,所以用FileOutputStream(File file)这个
构造方法的时候要特别注意,覆盖掉你有用的资料就不好了,想要不给覆盖掉的话,用这个构造方法FileOutputStream(File file,boolean append),在你这里的话也就是写成这样DataOutputStream out = new DataOutputStream(new FileOutputStream(file,true));

评分

参与人数 1黑马币 +3 收起 理由
简★零度 + 3

查看全部评分

回复 使用道具 举报
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。创建一个新 FileDescriptor 对象来表示此文件连接。
帮你改的
  1. public class Wjs
  2. {
  3.         public static void write(Word word) throws Exception{
  4.         
  5.         File file = new File("tokenOut.txt");
  6.          
  7.         if(!file.exists()){
  8.             
  9.             System.out.println("file not exist!");
  10.         }else{
  11.             
  12.             DataOutputStream out = new DataOutputStream(new FileOutputStream(file,true));
  13.             System.out.println("--->" + word.getMessage());
  14.             out.writeUTF(new String(word.getMessage().getBytes(), "UTF-8"));
  15.         }
  16.     }
  17. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

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