Автор оригинала: mkyong.
В Java существует множество способов записи строки в файл.
1. Java 11 – Java 11 –
Наконец, в java.nio
добавлен новый метод, позволяющий легко сохранять строку в Файл
.
package com.mkyong; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class StringToFileJava11 { public static void main(String[] args) { String content = "Hello World \r\nJava!\r\n"; String path = "c:\\projects\\app.log"; try { // Java 11 , default StandardCharsets.UTF_8 Files.writeString(Paths.get(path), content); // encoding // Files.writeString(Paths.get(path), content, StandardCharsets.US_ASCII); // extra options // Files.writeString(Paths.get(path), content, // StandardOpenOption.CREATE, StandardOpenOption.APPEND); } catch (IOException e) { e.printStackTrace(); } } }
Hello World Java!
2. Java 7 – Java 7 –
package com.mkyong; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class StringToFileJava7 { public static void main(String[] args) { String content = "Hello World \r\nJava!\r\n"; String path = "c:\\projects\\app.log"; try { // Java 7 Files.write(Paths.get(path), content.getBytes()); // encoding // Files.write(Paths.get(path), content.getBytes(StandardCharsets.UTF_8)); // extra options // Files.write(Paths.get(path), content.getBytes(), // StandardOpenOption.CREATE, StandardOpenOption.APPEND); } catch (IOException e) { e.printStackTrace(); } } }
Выход
Hello World Java!
3. Общий доступ Apache IO
commons-io commons-io 2.6
package com.mkyong; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; public class CommonsIOExample { public static void main(String[] args) { String content = "Hello World \r\nJava!\r\n"; String path = "c:\\projects\\app2.log"; try { FileUtils.writeStringToFile(new File(path), content, StandardCharsets.UTF_8); // append // FileUtils.writeStringToFile(new File(path), content, StandardCharsets.UTF_8, true); } catch (IOException e) { e.printStackTrace(); } } }
4. БуферизоВанный писатель
4.1 В прежние времена:
package com.mkyong; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class BufferedWriterExample { public static void main(String[] args) { String content = "Hello World \r\nJava!\r\n"; String path = "c:\\projects\\app.log"; try (FileWriter writer = new FileWriter(path); BufferedWriter bw = new BufferedWriter(writer)) { bw.write(content); } catch (IOException e) { e.printStackTrace(); } } }
4.2 Или вот так, закройте все ресурсы вручную 🙂
package com.mkyong; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class BufferedWriterExampleBeforeJava7 { public static void main(String[] args) { String content = "Hello World \r\nJava!\r\n"; String path = "c:\\projects\\app.log"; BufferedWriter bw = null; FileWriter fw = null; try { fw = new FileWriter(path); bw = new BufferedWriter(fw); bw.write(content); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bw != null) bw.close(); if (fw != null) fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
Рекомендации
- Файлы Java Документы
- Учебные пособия по Java – Чтение, запись и создание файлов
- JavaDocs с буферизованным сценарием
- Java – Как добавить текст в файл
- Java – Как создавать и записывать в файл
Оригинал: “https://mkyong.com/java/java-how-to-save-a-string-to-a-file/”