Вопрос-ответ

How do I save a String to a text file using Java?

Как мне сохранить строку в текстовый файл с помощью Java?

В Java у меня есть текст из текстового поля в строковой переменной с именем "text".

Как я могу сохранить содержимое переменной "text" в файл?

Переведено автоматически
Ответ 1

Если вы просто выводите текст, а не какие-либо двоичные данные, сработает следующее:

PrintWriter out = new PrintWriter("filename.txt");

Затем запишите в него свою строку, точно так же, как вы бы записывали в любой выходной поток:

out.println(text);

Вам, как всегда, понадобится обработка исключений. Обязательно закройте выходной поток, когда закончите писать.

out.close()

Если вы используете Java 7 или более поздней версии, вы можете использовать "инструкцию try-with-resources", которая автоматически закроет ваш PrintStream когда вы закончите с этим (т. Е. Выйдете из блока), вот так:

try (PrintWriter out = new PrintWriter("filename.txt")) {
out.println(text);
}

Вам все равно нужно будет явно использовать java.io.FileNotFoundException, как и раньше.

Ответ 2

Apache Commons IO содержит несколько отличных методов для этого, в частности FileUtils содержит следующий метод:

static void writeStringToFile(File file, String data, Charset charset) 

который позволяет записывать текст в файл одним вызовом метода:

FileUtils.writeStringToFile(new File("test.txt"), "Hello File", Charset.forName("UTF-8"));

Возможно, вы также захотите указать кодировку для файла.

Ответ 3

В Java 7 вы можете сделать это:

String content = "Hello File!";
String path = "C:/a.txt";
Files.write( Paths.get(path), content.getBytes());

Здесь есть дополнительная информация:
http://www.drdobbs.com/jvm/java-se-7-new-file-io/231600403

Ответ 4

Взгляните на Java File API

краткий пример:

try (PrintStream out = new PrintStream(new FileOutputStream("filename.txt"))) {
out.print(text);
}
java file