【发布时间】:2026-02-07 06:30:02
【问题描述】:
我正在尝试将文件从 1 个目录移动到另一个目录。问题在于,当文件在新目录中时,它们会保留以前的权限,而不是为该文件夹设置的新权限。
我正在我的 Java 8 应用程序中尝试在本地机器/客户端上执行此操作。我曾尝试寻找答案,但我发现的只是 Linux 和 C# 示例。
我已尝试更改操作系统/服务器中的 ACL 权限更改设置,但 Windows 已正确处理 ACL 权限交换,只是 Java 代码忽略了这一点。
我真的想使用移动方法,而不是复制+删除方法。
这是我使用的唯一一行代码:
Files.move(pdfFile.toPath(), Paths.get(newFileWithoutExtension + ".pdf"), StandardCopyOption.REPLACE_EXISTING);
我希望我移动到新目录的文件将继承为该目录设置的 ACL 权限。
当前移动的文件从创建它们的位置保留自己的 ACL 权限,这与预期不同。
编辑 1:将权限更改为 ACL 权限。
【问题讨论】:
-
你的意思是什么权限? DOS 权限(可以设置例如
attrib)或ACL 权限(可以设置例如icacls)? -
@SubOptimal 我的意思是 ACL 权限,对不起,我不知道他们被称为那个。我将编辑我的原始问题以包含此内容。
标签: java file permissions system