int rowNum = 0;
PrintWriter rowNumPW = null;
try {     
      rowNumPW = new PrintWriter(new BufferedWriter(new FileWriter("out.txt",false)));
            
     } catch (IOException ex) {
       ex.printStackTrace();
}
for(int i = 0; i< 8; i++){
     rowNum++
     rowNumPW.print(rowNum);
     rowNumPW.flush();
}
rowNumPW.close();为什么每次输出到 out.txt 文件的数字都是添加到上一个数字的后面,而不是直接把原来的数字给覆盖掉呀!!!

解决方案 »

  1.   


     int rowNum = 0;
    PrintWriter rowNumPW = null;
    try {     
          rowNumPW = new PrintWriter(new BufferedWriter(new FileWriter("out.txt",false)));
                
         } catch (IOException ex) {
           ex.printStackTrace();
    }
    for(int i = 0; i< 8; i++){
         rowNum++
         rowNumPW.print(rowNum);
         rowNumPW.flush();
    }
    rowNumPW.close();
    你的值一直都没有变呀,
      

  2.   

    那个值,rowNum一直在变呀!!!
      

  3.   


    for(int i = 0; i< 8; i++){
         rowNum++   //这里少了个分号;
         rowNumPW.print(rowNum);
         rowNumPW.flush();另外,new FileWriter("out.txt",false)));  //将false改成true
      

  4.   

    改成true后不是变成在已有内容后添加内容了吗?我想要的效果是后来的内容把原来的内容覆盖掉,那个少的分号是我弄错了,加上后还是不能把原来的内容覆盖呀!!!继续求助!!!!!!!!!
      

  5.   

    这段代码根本就没改变txt文件的内容。--
    最笨的方法就是直接File类的delete了。
      

  6.   

     楼主你理解错追加的意思了。false表示是不追加,但他的意思不是你每次写的的都覆盖原来的。而是 你打开一个文件后,你写入的内容会把这个文件的内容给覆盖了.
      

  7.   

    这样的话是每次都覆盖,但是IO太平凡了int rowNum = 0;
    PrintWriter rowNumPW = null;for(int i = 0; i< 8; i++){
    try {     
          rowNumPW = new PrintWriter(new BufferedWriter(new FileWriter("out.txt",false)));
                
         } catch (IOException ex) {
           ex.printStackTrace();
    }
         rowNum++;
         rowNumPW.print(rowNum);
         rowNumPW.flush();
         rowNumPW.close()
    }