Файл 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();
}
Не говори, что нам нехорошо к тебе!