【发布时间】:2014-12-05 08:57:20
【问题描述】:
当我将文件从源文件夹复制到目标文件夹时,新复制的文件不会继承目标文件夹的权限。 Java中有没有一种方法可以将文件复制到目标位置会继承目标文件夹的权限?
【问题讨论】:
-
哪个操作系统?你到底指的是什么权限?
-
视窗。我指的是安全权限,例如哪个用户可以访问文件以及一个人有多少访问控制(读/写等)
当我将文件从源文件夹复制到目标文件夹时,新复制的文件不会继承目标文件夹的权限。 Java中有没有一种方法可以将文件复制到目标位置会继承目标文件夹的权限?
【问题讨论】:
在 java7 中 - 您可以执行以下操作
Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES)
我没有测试过这段代码。希望对你有帮助!!
【讨论】:
COPY_ATTRIBUTES 不适用于所有文件系统。在 macOS 上,它会抛出 UnsupportedOperationException.
使用Files.Copy 工作正常,我在 renameTo() 或 FileInput/OutputStream 代码不起作用时测试了此代码。
尝试不使用 StandardCopyOption,目标文件夹的权限会自动继承,如下所示:
Files.copy(source.toPath(), destination.toPath());
希望对您有所帮助。
【讨论】: