想问个问题,对于写文件(假如是文本文件),怎样让文件的内容重新为新写入的内容 。又怎样让文件的内容为原有的内容 加上新写的内容,对于这样的FileWriter,应该分别如何操作。

解决方案 »

  1.   

    public FileWriter(String fileName,
                      boolean append)
               throws IOException
    根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。 
    参数:
    fileName - 一个字符串,表示与系统有关的文件名。
    append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。 
    抛出: 
    IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它FileWriter
    public FileWriter(File file,
                      boolean append)
               throws IOException
    根据给定的 File 对象构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。 
    参数:
    file - 要写入数据的 File 对象
    append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处 
    抛出: 
    IOException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它
      

  2.   

    哦 ,发现我的Java API 是老版本的 没有这个构造函数,刚下了个Java6 API ,发现并不是所有的流都有 Boolean append 这个参数。比如PrintStream 这个类怎么办呢?
      

  3.   

    new PrintStream(new FileOutputStream(file,true))
    new PrintStream(new FileOutputStream(file,false))new PrintWriter(new FileWriter(file,true))
    new PrintWriter(new FileWriter(file,false))
      

  4.   

    建立同名文件时就会把原文件内容给覆盖掉,想往原文件内容里加新东西,就去查下“append”类似的方法。