Использование Java nio для создания подкаталога и файла
Я создаю простую программу, которая попытается прочитать в "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(); }
}
Мои вопросы: действительно ли это самый элегантный способ сделать это? Кажется, что нужно создать два простых пути для создания нового файла в новом подкаталоге.
Ответы
Ответ 1
Вы можете объявить свой confFile
как File
вместо Path
. Затем вы можете использовать confFile.getParentFile().mkdirs();
, см. Пример ниже:
// ...
File confFile = new File("./conf/conf.xml");
confFile.getParentFile().mkdirs();
// ...
Или, используя свой код как есть, вы можете использовать:
Files.createDirectories(confFile.getParent());