Перезапись в текстовые файлы Java - PullRequest
0 голосов
/ 25 июля 2011

Мне было интересно, есть ли способ добавить к уже созданным текстовым файлам.потому что, когда я делаю это на уже созданном файле:

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

, он переписывает текущий файл filename.txt с пустымспасибо, Куинн

Ответы [ 3 ]

2 голосов
/ 25 июля 2011

Попробуйте использовать конструктор для Formatter, который принимает Appendable в качестве аргумента.

Существует несколько классов, которые реализуют интерфейс Appendable.Наиболее удобным в вашем случае должно быть FileWriter.

. Этот конструктор FileWrite позволит вам открыть файл (имя которого указано как String) в режиме добавления.

2 голосов
/ 25 июля 2011

Да, используйте конструктор с аргументом OutputStream вместо аргумента File. Таким образом, вы можете открыть OutputStream в режиме добавления и выполнить его форматирование. Ссылка

1 голос
/ 25 июля 2011

Используйте 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");
        }
}
...