使用 Apache Commons Compress 时要提取 tar 文件,我如何找出每个 TarArchiveEntry 的文件权限(读、写、可执行) ?
最佳答案
TarArchiveEntry 提供了一个方法“getMode()”,它返回 Unix 文件模式,例如
TarArchiveEntry entry = input.getNextTarEntry();
while(entry != null) {
System.out.println("Entry: " + entry.getName() + ", Mode: " + entry.getMode());
entry = input.getNextTarEntry();
}
使用测试 tar 文件会导致:
Entry: usr/local/bin/bcdiff, Mode: 493
Entry: usr/local/bin/jgrep, Mode: 493
Entry: usr/local/bin/ysh, Mode: 365
转化为:
-rwxr-xr-x bcdiff
-rwxr-xr-x jgrep
-r-xr-xr-x ysh
您可以在 Internet 的许多站点上阅读有关模式编号的详细信息,例如here
HTH...多米尼克。
关于java - 提取tar文件时如何检测文件权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9435709/