在用户定义的路径创建文件

时间:2012-05-07 06:48:51

标签: java file file-io

我正在使用

在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文件夹中创建的。我想在用户定义的文件夹中创建这个文件。

如何实现。

2 个答案:

答案 0 :(得分:1)

  

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

最简单的方法是指定完全限定的路径名​​。您可以将其选为File并相对于它构建新的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包裹的OutputStreamWriter而不是FileWriter,因为您无法使用FileWriter指定编码
  • 使用try / finally块(或在Java 7中尝试使用资源),以便即使出现异常也始终关闭编写器。

答案 1 :(得分:0)

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

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

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