首页>Program>source

我正在创建一个简单的程序,尝试从磁盘中读取" conf / conf.xml",但是如果此文件或目录不存在,则会创建它们。

我可以使用以下代码执行此操作:

   // create subdirectory path
    Path confDir = Paths.get("./conf"); 
    // create file-in-subdirectory path
    Path confFile = Paths.get("./conf/conf.xml"); 
    // if the sub-directory doesn't exist then create it
    if (Files.notExists(confDir)) { 
        try { Files.createDirectory(confDir); }
        catch (Exception e ) { e.printStackTrace(); }
    }
    // if the file doesn't exist then create it
    if (Files.notExists(confFile)) {
        try { Files.createFile(confFile); }
        catch (Exception e ) { e.printStackTrace(); }
    }

我的问题是,这是否真的是最优雅的方式? 需要创建两个简单的路径以在新的子目录中创建新文件似乎很多余。

最新回答
  • 14天前
    1 #

    您可以声明 confFile 作为 File 代替 Path .然后您可以使用 confFile.getParentFile().mkdirs(); ,请参见下面的示例:

    // ...
    File confFile = new File("./conf/conf.xml"); 
    confFile.getParentFile().mkdirs();
    // ...
    

    或者,按原样使用代码,您可以使用:

    Files.createDirectories(confFile.getParent());
    

  • uri:如何更改wPF应用程序的StartupUri?
  • jestjs:我如何测试作为道具笑话酶ReactJS传递的字符串