我正在使用
在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文件夹中创建的。我想在用户定义的文件夹中创建这个文件。
如何实现。
答案 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会更好。