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

Fre*_*tte 1 java directory text-files

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

你可以帮帮我吗?

Dan*_*iel 5

PrintWriter out = new PrintWriter(
    new OutputStreamWriter(
       new FileOutputStream("SUB/myfile.txt")));
out.println("simpleString);
out.close();
Run Code Online (Sandbox Code Playgroud)

这个简单的任务在Java中看起来非常复杂.原因是,您可以在从String到文件的路上配置所有内容.您可以例如指定输出文件的编码,默认为平台编码(例如,西半球大部分地区的Windows"win1252").要编写UTF-8文件,请使用:

PrintWriter out = new PrintWriter(
    new OutputStreamWriter(
        new FileOutputStream("SUB/myfile.txt"),"UTF-8"));
out.println("simpleString);
out.close();
Run Code Online (Sandbox Code Playgroud)

PrintWriter还具有"立即刷新"选项,这对于要在后台监视的日志文件很有用.

通过链接IO构造函数,您还可以在使用BufferedWriter时提高性能,因为只有在达到最小大小或流关闭时才会刷新到磁盘.

PrintWriter out = new PrintWriter(
   new BufferedWriter(
       new OutputStreamWriter(
           new FileOutputStream("SUB/myfile.txt"),"UTF-8")));
out.println("simpleString);
out.close();
Run Code Online (Sandbox Code Playgroud)

通过必须创建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();
Run Code Online (Sandbox Code Playgroud)

你会喜欢Javas的多功能性!