Java 创建新文件而不是重写

Java 创建新文件而不是重写,java,Java,我试图写入一个已经存在的文件。据我在论坛上看到的,这段代码应该重写旧文件,但不是重写,而是将文件名放在[]括号中,并创建一个新文件。有什么想法吗 try { File file = new File("/home/erik/glassfish3/" + selectedMss + ".ini"); BufferedWriter output = new BufferedWriter(new FileWriter(file)); for (String newline : co

我试图写入一个已经存在的文件。据我在论坛上看到的,这段代码应该重写旧文件,但不是重写,而是将文件名放在[]括号中,并创建一个新文件。有什么想法吗

 try {
   File file = new File("/home/erik/glassfish3/" + selectedMss + ".ini");
   BufferedWriter output = new BufferedWriter(new FileWriter(file));
   for (String newline : content) {
     output.write(newline + "\n");
   }
   output.close();
 } catch (IOException e) {
   e.printStackTrace();
 }

FileWriter
类有一个构造函数,该构造函数接受第二个布尔参数,该参数指定writer是否应使用append模式,该模式将新内容追加到现有文件的末尾

我还建议在
finally
块中关闭writer

试试这个:

    try 
    {
           File file = new File("/home/erik/glassfish3/" + selectedMss + ".ini");
           BufferedWriter output = new BufferedWriter(new FileWriter(file,false));
            //true to append       //false to overwrite.

           for (String newline : content) 
           {
                  output.write(newline + "\n");
           }
           output.close();
           catch (IOException e)
           {
                  e.printStackTrace();
           }
    }
您还可以查看java文档以了解更多说明:


如果SelectedMs是一个数组,则其.toString()将具有[]@ChrisC No,而不会。但是如果它是
ArrayList
或其他
java.util
集合,那么它会的。除了你的文件名,我认为没有其他问题!为了更快地获得更好的帮助,请发布一篇文章。如何利用资源进行尝试?
    try 
    {
           File file = new File("/home/erik/glassfish3/" + selectedMss + ".ini");
           BufferedWriter output = new BufferedWriter(new FileWriter(file,false));
            //true to append       //false to overwrite.

           for (String newline : content) 
           {
                  output.write(newline + "\n");
           }
           output.close();
           catch (IOException e)
           {
                  e.printStackTrace();
           }
    }