使用java.io.File在文件系统上创建文件

时间:2015-07-06 06:53:13

标签: java file properties-file

我尝试使用java.io.File在我的文件系统上创建一个空的.properties文件。

我的代码是:

File newFile = new File(new File(".").getAbsolutePath() + "folder\\" + newFileName.getText() + ".properties");

if (newFile.createNewFile()){
    //do sth...
}

它说找不到指定的路径是不可能的。 打印文件的构造函数参数,它正确显示绝对路径。

出了什么问题?

3 个答案:

答案 0 :(得分:1)

我认为"。"操作员可能会导致错误,不确定您在那里尝试做什么,可能误解了您的意图,但试着这样做:

File newFile = new File(new File("folder\\").getAbsolutePath() + ".properties"); 

答案 1 :(得分:1)

  1. 您可以使用new File("folder", newFileName.getText() + ".properties")创建对folder目录中相对于当前工作目录的指定文件的文件引用
  2. 您应该在调用createNewFile之前确保该目录存在,因为它不会为您执行此操作
  3. 例如......

    File newFile = new File("folder", newFileName.getText() + ".properties");
    File parentFile = newFile.getParentFile();
    if (parentFile.exists() || parentFile.mkdirs()) {
        if (!newFile.exists()) {
            if (newFile.createNewFile()){
                //do sth...
            } else {
                throw new IOException("Could not create " + newFile + ", you may not have write permissions or the file is opened by another process");
            }
        }
    } else {
        throw new IOException("Could not create directory " + parentFile + ", you may not have write permissions");
    }
    

答案 2 :(得分:0)

我错过了new File(".").getAbsolutePath()返回项目的最终.的绝对路径,因此我的folder将被称为.folder。下次我会检查两次。