0

我正在使用 java 创建一个文件

BufferedWriter out = new BufferedWriter(new FileWriter(FileName));          
StringBuffer sb=new StringBuffer();
sb.append("\n");
sb.append("work");
out.write(sb.toString());
out.close();

但是这个文件是在我服务器的 bin 文件夹中创建的。我想在用户定义的文件夹中创建这个文件。

怎么可能实现。

4

2 回答 2

1

我想在用户定义的文件夹中创建这个文件。

最简单的方法是指定一个完全限定的路径名​​。您可以选择它作为 aFile并建立一个新的File相对于它:

File directory = new File("/home/jon/somewhere");
File fullPath = new File(directory, fileName);
BufferedWriter writer = new BufferedWriter(
    new OutputStreamWriter(
        (new FileOutputStream(fullPath), charSet));
try {
    writer.write("\n");
    writer.write("work");
} finally {
    writer.close();
}

笔记:

  • 我建议使用FileOutputStream包装在 anOutputStreamWriter而不是 using FileWriter,因为你不能指定编码FileWriter
  • 使用try/finally块(或 Java 7 中的 try-with-resources),以便即使出现异常也始终关闭编写器。
于 2012-05-07T06:52:30.613 回答
0

要在特定目录中创建文件,您需要在文件名中指定它。

否则它将使用当前工作目录,该目录可能是程序的启动位置。

顺便说一句:除非您使用的是 Java 1.4 或更早版本,否则您可以使用 StringBuilder 而不是 StringBuffer,尽管在这种情况下 PrintWriter 会更好。

于 2012-05-07T06:52:45.090 回答