首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >保存在另一个目录下JAVA -非常简单的问题!

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

Stack Overflow用户
提问于 2011-03-07 14:03:43
回答 2查看 5.8K关注 0票数 1

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

你能帮我一下吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-07 14:13:23

代码语言:javascript
运行
复制
PrintWriter out = new PrintWriter(
    new OutputStreamWriter(
       new FileOutputStream("SUB/myfile.txt")));
out.println("simpleString);
out.close();

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

代码语言:javascript
运行
复制
PrintWriter out = new PrintWriter(
    new OutputStreamWriter(
        new FileOutputStream("SUB/myfile.txt"),"UTF-8"));
out.println("simpleString);
out.close();

PrintWriter还有一个“立即刷新”选项,这对于您想要在后台监视的日志文件非常有用。

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

代码语言:javascript
运行
复制
PrintWriter out = new PrintWriter(
   new BufferedWriter(
       new OutputStreamWriter(
           new FileOutputStream("SUB/myfile.txt"),"UTF-8")));
out.println("simpleString);
out.close();

通过创建一个FileOutputStream,您可以指定输出应转到磁盘,但您也可以使用任何其他可流传输的位置,例如数组:

代码语言:javascript
运行
复制
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的多功能性的!

票数 5
EN

Stack Overflow用户

发布于 2011-03-07 14:36:21

实现了Apache org.apache.commons.io.FileUtils类,以减少样板代码量。

代码语言:javascript
运行
复制
FileUtils.writeStringToFile(new File("SUB/textFile.txt"),stringData,"UTF-8");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5216392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档