Java7中如何解决java.nio.file.FileAlreadyExistsException的问题

4
我正在编写代码,使用Java NIO API创建一个目录。我的代码片段如下:
   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);

但是它抛出了一个错误

java.nio.file.FileAlreadyExistsException: /home/ritesh/Desktop/userA

我知道原因是因为一个同名的目录已经存在,但我想用我的代码生成的目录来覆盖userA目录,该如何实现?

1个回答

10

不是

Files.createDirectory(target, attr);

尝试使用

Files.createDirectories(target, attr);

Files.createDirectories()的文档中:

通过首先创建所有不存在的父目录来创建目录。与createDirectory方法不同,如果由于目录已经存在而无法创建目录,则不会抛出异常。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接