【发布时间】:2013-03-23 04:21:15
【问题描述】:
以下代码不会生成文件(我在任何地方都看不到该文件)。 缺少什么?
try {
//create a temporary file
String timeLog = new SimpleDateFormat("yyyyMMdd_HHmmss").format(
Calendar.getInstance().getTime());
File logFile=new File(timeLog);
BufferedWriter writer = new BufferedWriter(new FileWriter(logFile));
writer.write (string);
//Close writer
writer.close();
} catch(Exception e) {
e.printStackTrace();
}
【问题讨论】:
-
1- 在关闭它之前尝试调用
writer.flush()。 2-您应该使用finally块来确保Writer即使出现异常也已关闭 -
你想把文件写到哪里?您需要指定 timeLog 的完整路径。示例是在 C:\ 下吗?
-
@user717630 不是真的。如果没有路径,文件将被写入当前的“工作”目录,该目录通常是执行程序的目录...
-
尝试在创建编写器之前添加
System.out.println(logFile.getCanonicalPath());,这将告诉您文件的写入位置。 -
语言不同...不熟悉,找file.save方法