Java How to save a String to a File
By:Roy.LiuLast updated:2019-08-11
In Java, there are many ways to write a String to a File.
1. Java 11 – Files.writeString
Finally, a new method added in java.nio to save a String into a File easily.
StringToFileJava11.java
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();
c:\\projects\\app.log
Hello World Java!
2. Java 7 – Files.write
StringToFileJava7.java
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();
Output
c:\\projects\\app.log
Hello World Java!
3. Apache Commons IO
pom.xml
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
CommonsIOExample.java
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. BufferedWriter
4.1 In the old days:
BufferedWriterExample.java
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 Or like this, close all resources manually :)
BufferedWriterExampleBeforeJava7.java
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();
From:一号门
Previous:Java Convert File to String
COMMENTS