Файл Java - открыть файл и записать его

Я знаю, что мы должны добавить к нашим вопросам смешок кода, но я серьезно ошарашен и не могу обернуть голову или найти какие-либо примеры, чтобы следовать.

В принципе, я хочу открыть файл C:\A.txt, у которого уже есть содержимое, и написать строку в конце. В основном так.

Файл A.txt содержит:

John
Bob
Larry

Я хочу открыть его и написать Sue в конце, чтобы файл теперь содержит:

John
Bob
Larry
Sue

Извините за отсутствие примера кода, мой мозг мертв этим утром....

Ответы

Ответ 1

Пожалуйста, найдите Google, предоставленный миру Ларри Пейджем и Сергеем Брин.

BufferedWriter out = null;
try  
{
    FileWriter fstream = new FileWriter("out.txt", true); //true tells to append data.
    out = new BufferedWriter(fstream);
    out.write("\nsue");
}
catch (IOException e)
{
    System.err.println("Error: " + e.getMessage());
}
finally
{
    if(out != null) {
        out.close();
    }
}

Ответ 2

Предложения:

  • Создайте объект File, который ссылается на уже существующий файл на диске.
  • Используйте объект FileWriter и используйте конструктор, который принимает объект File и boolean, последний, если true позволит добавляя текст в файл, если он существует.
  • Затем инициализируйте PrintWriter, передавая в FileWriter его конструктор.
  • Затем вызовите println(...) в свой PrintWriter, введя новый текст в файл.
  • Как всегда, закройте свои ресурсы (PrintWriter), когда вы закончите с ним.
  • Как всегда, не игнорируйте исключения, а скорее поймайте и обработайте их.
  • close() PrintWriter должен быть в блоке try finally.

например.

  PrintWriter pw = null;

  try {
     File file = new File("fubars.txt");
     FileWriter fw = new FileWriter(file, true);
     pw = new PrintWriter(fw);
     pw.println("Fubars rule!");
  } catch (IOException e) {
     e.printStackTrace();
  } finally {
     if (pw != null) {
        pw.close();
     }
  }

Легко, нет?

Ответ 3

Чтобы развернуть комментарий г-на Элла, вы можете сделать это следующим образом:

    File file = new File("C:\\A.txt");
    FileWriter writer;
    try {
        writer = new FileWriter(file, true);
        PrintWriter printer = new PrintWriter(writer);
        printer.append("Sue");
        printer.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Не говори, что нам нехорошо к тебе!