Java- FileWriter / BufferedWriter - добавление в конец текстового файла? - PullRequest
2 голосов
/ 04 марта 2010

Я уже делал это раньше, я пытаюсь повторить то, что я сделал до сих пор, и вот что я получил:

    try {
        BufferedWriter writer = new BufferedWriter(new FileWriter("file.P", true));
        System.out.println("entered");
        if (!(newUserName.isEmpty()) || (newUserPass.isEmpty())){
            writer.newLine();
            writer.write("hellotest123");
            writer.close();
        }

Кажется, он находит файл .P, который представляет собой просто текстовый файл, но, похоже, ничего к нему не добавляет? Он вводит код и нормально передает оператор IF, но к текстовому файлу ничего не добавляется? Я немного застрял!

Ответы [ 3 ]

5 голосов
/ 04 марта 2010

Вы уверены, что он находит файл .P, а не просто создает новый в другой части файловой системы?Попробуйте указать абсолютный путь, просто чтобы убедиться, что вы и программа просматриваете один и тот же файл.

Редактировать:

На основании комментария, что файл находится на пути к классам, который вы должны использоватьследующий метод его разрешения:

MyClass.class.getResource("file.P");

Это найдет файл file.P на пути к классам в том же «пакете» или папке, что и MyClass.class

0 голосов
/ 07 апреля 2010

Разве в вашем if утверждении не должно быть двух апострофов и &&? Требуется, чтобы пользователь и проходил вместо пользователя или прохода?

if (!(newUserName.isEmpty()) && !(newUserPass.isEmpty())){
0 голосов
/ 04 марта 2010

1) Можете ли вы попробовать вызвать writer.flush ()? Код выглядит так, как будто он вызывает flush при закрытии, но было бы лучше это подтвердить.

2) Вы также можете распечатать полное местоположение файла? Возможно, он добавляется в каталог tmp или не в том месте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...