我正在尝试在当前目录中创建一个文件,文件名基于应用程序名称和日期,到目前为止我这样做但是当我检查文件夹时我没有看到文件所以文件没有创建......有人可以帮我吗?
public File file;
public void initialize(URL url, ResourceBundle rb)
{
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss");
Date date = new Date();
String currentDate = dateFormat.format(date);
String format = "Topology_"+ currentDate+".log";
String userDirectory = System.getProperty("user.dir");
String path = userDirectory+"\\"+format;
file = new File(path);
if((file.exists()))
{
System.out.println("file created");
}
}
答案 0 :(得分:1)
首先file.exits()
不会创建文件,您要查找的是
boolean file.createNewFile()
另外
System.getProperty("user.dir")
不返回当前工作目录,而是返回用户文件夹。
另外我建议使用平台独立的斜杠' /'而不是窗口只反斜杠' \'。
答案 1 :(得分:0)
因为我修正了错误I"我会提供一个答案,也许它会帮助别人: file = new File(path)在内存中创建文件的实例,因此该文件尚未存在于磁盘上。这里的错误是我的文件名包含":"只有当我用OutputStreamWriter创建了一个BufferedWriter时才看到该文件在当前文件夹中(System.getProperty(" user.dir")),这是禁止的。