我使用java代码将几个jar文件从linux机器复制到Linux机器上,同时对所有jar文件设置了777权限,但如果我去复制位置查看jar文件,则权限没有设置。可能的问题是什么?有人能帮上忙吗
file.setExecute(true); file.setReadable(true); file.setWritable(true):
发布于 2018-11-17 14:16:36
首先,您所做的并不等同于将权限设置为0777。
0777
java.io.File::setExecutable的javadoc声明:
java.io.File::setExecutable
为此抽象路径名设置所有者的执行权限的便捷方法。
注意,它没有说明调用对“组”和“其他”权限做了什么。
其次,您没有检查调用的返回值,因此它们可能会静默失败……在Linux上,如果应用程序的有效uid不是文件所有者或root,则通常会发生这种情况。
对于Java7和更高版本,更好的方法是使用java.nio.file.Files::setPosixFilePermissions (javadoc
java.nio.file.Files::setPosixFilePermissions
https://stackoverflow.com/questions/53348596
相似问题