本文正在参加「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。关于翻译文章,聆风也相对生疏,难免有错漏,欢迎各位大佬在评论区批评指正,谢谢!