4

私はコードを書いています私はjavanioapiでディレクトリを作成しています私のコードのセグメントは

   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 に答える