Java的createNewFile() – 它也会创build目录吗?
我有一个条件来检查在继续之前是否存在某个文件( ./logs/error.log
)。 如果找不到,我想创build它。 但是,会的
File tmp = new File("logs/error.log"); tmp.createNewFile();
还创buildlogs/
如果它不存在?
没有。
在创build文件之前使用tmp.getParentFile().mkdirs()
。
File theDir = new File(DirectoryPath); if (!theDir.exists()) theDir.mkdir();
File directory = new File(tmp.getParentFile().getAbsolutePath()); directory.mkdirs();
如果目录已经存在,什么也不会发生,所以你不需要任何检查。
现在(> = 1.3)的StringUtils.touch(/path/filename.ext)
也会创build目录和文件,如果它们不存在的话。