如何使用Java将字符串保存到文本文件中? | Java Debug 笔记

572 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看活动链接


问题描述

在Java中,我有一个文本字段中的文本字符串中的变量称为"text"。如何保存内容的"text"变量到一个文件?

部分高赞回答

最高赞回答(767赞)

如果你只是输出文本,而不是任何二进制数据,可以使用以下代码:

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

然后,把你的字符串写入它,就像你写入任何输出流一样:

out.println(text);

与以往一样,您需要异常处理。当你写完的时候,请务必调用out.close()。 如果你使用的是Java 7或更高版本,你可以使用“try-with-resources语句”,它会在你完成PrintStream时自动关闭你的PrintStream(即退出block),像这样:

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

你依旧要像之前一样直接抛出java.io.FileNotFoundException

第二高赞(256赞)

Apache的公共IO端口包含一些很棒的方法来实现这一点,特别是FileUtils包含以下方法:

static void writeStringToFile(File file, String data) 

它允许你通过一个方法调用将文本写入文件:

FileUtils.writeStringToFile(new File("test.txt"), "Hello File");

另外,您可能还需要考虑为文件指定编码。

第三高赞(111赞)

在Java 7中,您可以执行以下操作:

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

这里有更多信息

第四高赞(106赞)

看看Java File API 举一个简单的例子:

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

本文翻译自Stack Overflow。关于翻译文章,聆风也相对生疏,难免有错漏,欢迎各位大佬在评论区批评指正,谢谢!