重写java txt文件

时间:2011-07-25 06:26:18

标签: java formatter

我想知道是否有办法添加到已经创建的文本文件。因为当我在已创建的文件上执行此操作时:

public Formatter f = new Formatter("filename.txt");

它将当前的filename.txt重写为空白。 谢谢,奎因

3 个答案:

答案 0 :(得分:2)

是的,使用带有OutputStream参数的构造函数而不是File参数。这样你就可以在追加模式下打开一个OutputStream并对其进行格式化。 Link

答案 1 :(得分:2)

尝试使用以Formatter作为参数的Appendable构造函数。

有几个类实现Appendable接口。在您的情况下,最方便的应该是FileWriter

FileWrite constructor将允许您以附加模式打开文件(其名称指定为String)。

答案 2 :(得分:1)

使用FileOutputStream并将附加布尔值设为true,例如new FileOutputStream("C:/concat.txt", true));

实施例

public class FileCOncatenation {

        static public void main(String arg[]) throws java.io.IOException {
                PrintWriter pw = new PrintWriter(new FileOutputStream("C:/concat.txt", true));

                File file2 = new File("C:/Text/file2.rxt");
                                       System.out.println("Processing " + file2.getPath() + "... ");
                        BufferedReader br = new BufferedReader(new FileReader(file2
                                        .getPath()));
                        String line = br.readLine();
                        while (line != null) {
                                pw.println(line);
                                line = br.readLine();
                        }
                        br.close();
//                }
                pw.close();
                System.out.println("All files have been concatenated into concat.txt");
        }
}