java.nio.file.FileAlreadyExistsException how to re

2019-05-04 09:58发布

问题:

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.