我有一个名为DIR的文件夹和一个名为SUB的子文件夹。 我正在运行的java文件放在DIR文件夹中,现在我想将我的小字符串保存在SUB文件夹中的.txt文件中。
你能帮帮我吗?
答案 0 :(得分:5)
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt")));
out.println("simpleString);
out.close();
这个简单的任务在Java中看起来非常复杂。原因是,您可以在从String到文件的路上配置所有内容。你可以,例如指定输出文件的编码,默认为平台编码(例如,西半球大部分地区的Windows为“win1252”)。要编写UTF-8文件,请使用:
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt"),"UTF-8"));
out.println("simpleString);
out.close();
PrintWriter还有一个“立即刷新”选项,这对于您想要在后台监控的日志文件很有用。
通过链接IO构造函数,您还可以在使用BufferedWriter时提高性能,因为只有在达到最小大小或流关闭时才会刷新到磁盘。
PrintWriter out = new PrintWriter(
new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("SUB/myfile.txt"),"UTF-8")));
out.println("simpleString);
out.close();
通过创建FileOutputStream,您指定输出应该转到磁盘,但您也可以使用任何其他可流式传输的位置,例如一个数组:
byte[] bytes = new byte[4096];
OutputStream bout = new ByteArrayOutputStream(bout);
PrintWriter out = new PrintWriter(
new OutputStreamWriter(bout,"UTF-8"));
out.println("simpleString);
out.close();
你会喜欢Javas的多功能性!
答案 1 :(得分:2)
实现Apache org.apache.commons.io.FileUtils
类以减少样板代码量。
FileUtils.writeStringToFile(new File("SUB/textFile.txt"),stringData,"UTF-8");