问题
i am writing a code i am creating a directory with java nio api my segment of code is
Path target = Paths.get(""+folder_path+xx[0]);
Set<PosixFilePermission> perms = null;
if(xx[2].toLowerCase().equals("read"))
perms =PosixFilePermissions.fromString("r--------");
if(xx[2].toLowerCase().equals("read/write"))
{
perms =PosixFilePermissions.fromString("rw-------");
}
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms);
Files.createDirectory(target, attr);
but it is throwing an error
java.nio.file.FileAlreadyExistsException: /home/ritesh/Desktop/userA
reason i know because a directory already with same name but i want to overwrite userA directory with directory generated by my code directory how to accomplsih this??
回答1:
Instead of
Files.createDirectory(target, attr);
try using
Files.createDirectories(target, attr);
In the documentation for Files.createDirectories()
:
Creates a directory by creating all nonexistent parent directories first. Unlike the createDirectory method, an exception is not thrown if the directory could not be created because it already exists.
来源:https://stackoverflow.com/questions/14411463/java-nio-file-filealreadyexistsexception-how-to-resolve-this-in-java7