保存在另一个目录JAVA - 非常简单的问题!

时间:2011-03-07 06:03:43

标签: java directory text-files

我有一个名为DIR的文件夹和一个名为SUB的子文件夹。 我正在运行的java文件放在DIR文件夹中,现在我想将我的小字符串保存在SUB文件夹中的.txt文件中。

你能帮帮我吗?

2 个答案:

答案 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");