在 Java 中将字符串保存到文件
本文将介绍在 Java 中将字符串写入文件的方法。
在 Java 中使用 PrintWriter
类将字符串写入到文件中
要将字符串写入文件,我们可以使用 PrintWriter
类。该类的构造函数创建一个具有指定名称作为参数的文件。
如果字符串不存在,或者我们无法创建文件,或者在打开或创建文件时发生其他错误,则构造函数将抛出 FileNotFoundException
。
println()
函数将在文件中打印字符串并终止一行。
close()
方法将关闭流并释放与之关联的系统资源。
package writeStringToFile;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Objects;
public class WriteStringToFile {
public static void main(String[] args) {
PrintWriter printWriter = null;
String textToBeWritten = "Hello";
{
try {
printWriter = new PrintWriter("writerFile.txt");
} catch (FileNotFoundException e) {
System.out.println("Unable to locate the fileName: " + e.getMessage());
}
Objects.requireNonNull(printWriter).println(textToBeWritten);
printWriter.close();
}
}
}
使用 Java7 的 Files
类将字符串写入文件
Files
类仅包含对文件,目录或其他类型的文件进行操作的静态方法。write()
方法将字节写入文件。选项参数指定如何创建或打开文件。如果不存在任何选项,则此方法的工作方式就像已经存在 CREATE
,TRUNCATE_EXISTING
和 WRITE
选项一样。
该方法有两个参数,path
和 byte
。
path
指定目标文件的路径。getBytes()
方法将字符串转换为 Byte
格式。
如果在写入或创建文件时发生错误,该方法将引发 IOException
。
package writeStringToFile;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
public class WriteStringToFileJava7 {
public static void main(String[] args) throws IOException {
String contentToWrite = "Hello File!";
String path = "C:\IdeaProjects\JavaProblems\src\main\java\writeStringToFile\target\targetFile.txt";
Files.write(Paths.get(path), contentToWrite.getBytes());
}
}
使用 Java 中的 FileWriter
类将字符串写入文件
BufferedWriter
类创建一个使用默认大小的输出缓冲区的缓冲区字符输出流。它以任何 writer 对象为参数。FileWriter
类构造函数采用文件名,该文件名是存储字符串的目标。write
方法将文本写入对象中的关联文件。当文件不可放置时,此方法将引发 IOException
。
现在,在 finally
块中,应该释放用于输入和输出操作的资源。close
方法还会抛出 IOException
类,因此我们应该在 try-catch 块中使用 close
函数,或者在父方法中添加 throws
子句。
package writeStringToFile;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFileUsingFileWriter {
public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = null;
try {
bufferedWriter = new BufferedWriter(new FileWriter("targetFile"));
bufferedWriter.write("Hey! Content to write in File");
} catch (IOException e) {
System.out.println("Exception occurred: " + e.getMessage());
} finally {
if (bufferedWriter != null)
bufferedWriter.close();
}
}
}
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn相关文章 - Java String
- 如何从 Java 中的字符串中删除子字符串
- 如何将 Java 字符串转换为字节
- 如何在 Java 中以十六进制字符串转换字节数组
- 如何在 Java 中执行字符串到字符串数组的转换
- 用 Java 生成随机字符串
- Java 中的交换方法