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 目录如何完成这个?

4

1 回答 1

10

代替

Files.createDirectory(target, attr);

尝试使用

Files.createDirectories(target, attr);

在文档中Files.createDirectories()

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

于 2013-01-19T05:44:27.363 回答