【发布时间】:2014-03-24 08:43:51
【问题描述】:
我正在创建一个简单的程序,它将尝试从磁盘读取“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(); }
}
我的问题是,这真的是最优雅的方式吗?需要创建两个简单的路径以在新子目录中创建新文件似乎是多余的。
【问题讨论】:
-
Path有.resolve()和.getParent(),所以你可以从那里开始 -
我没看懂你的异常逻辑:为什么目录不存在且无法创建,为什么还要尝试创建文件?