I\'m creating a simple program that will try to read in \"conf/conf.xml\" from disk, but if this file or dir doesn\'t exist will instead create them.
I can do this u
You can create directory and file in one code line:
Files.createFile(Files.createDirectories(confDir).resolve(confFile.getFileName()))
Files.createDirectories(confDir)
will not throw an exception if the folder already exists and returns Path in any case.
You could declare your confFile
as File
instead of Path
. Then you can use confFile.getParentFile().mkdirs();
, see example below:
// ...
File confFile = new File("./conf/conf.xml");
confFile.getParentFile().mkdirs();
// ...
Or, using your code as is, you can use:
Files.createDirectories(confFile.getParent());
You could do the following:
// Get your Path from the string
Path confFile = Paths.get("./conf/conf.xml");
// Get the portion of path that represtents directory structure.
Path subpath = confFile.subpath(0, confFile.getNameCount() - 1);
// Create all directories recursively
/**
* Creates a directory by creating all nonexistent parent directories first.
* Unlike the {@link #createDirectory createDirectory} method, an exception
* is not thrown if the directory could not be created because it already
* exists.
*
*/
Files.createDirectories(subpath.toAbsolutePath()))