我正在使用Java代码将几个jar文件从linux机器复制到Linux机器,同时在复制时我将777权限设置为所有jar,但是如果我去查看复制位置的jar,则未设置权限。可能是什么问题?谁能帮忙
file.setExecute(true);
file.setReadable(true);
file.setWritable(true):
答案 0 :(得分:2)
首先,您所做的并不等同于将权限设置为0777
。
java.io.File::setExecutable
的{{3}}状态:
为此抽象路径名设置所有者的执行权限的便捷方法。
请注意,它没有说明调用对“组”和“其他”权限的作用。
第二,您没有检查调用的返回值,因此它们可能会默默地失败……如果应用程序的有效uid不是文件所有者或root,通常会在Linux上发生这种情况。
对于Java 7及更高版本,更好的方法是使用java.nio.file.Files::setPosixFilePermissions
(javadoc)