0
在commons-compress TarArchiveEntry中,可以使用getMode()来请求模式,但是这会返回一个int。如何检查TarArchiveEntry是否设置了3个执行位中的任何一个?
检查是否设置了任何执行位(用户,组,每个人)的最佳方法是什么?
在commons-compress TarArchiveEntry中,可以使用getMode()来请求模式,但是这会返回一个int。如何检查TarArchiveEntry是否设置了3个执行位中的任何一个?
检查是否设置了任何执行位(用户,组,每个人)的最佳方法是什么?
它可以一次性完成,检查一次所有三个位:
static boolean isExecutable(int mode) {
return (mode & 0111) != 0;
}
凡0111
是一个八进制的文本,这是极为罕见的,所以作为更明确,但不再是一个选择:
static boolean isExecutable(int mode) {
int mask = 1 | (1 << 3) | (1 << 6);
return (mode & mask) != 0;
}