Как определить права доступа к файлу при извлечении файла tar? - PullRequest
6 голосов
/ 24 февраля 2012

При использовании Apache Commons Compress для извлечения файла tar, как мне узнать права доступа к файлу (чтение, запись, выполнение) каждого TarArchiveEntry ?

1 Ответ

7 голосов
/ 25 февраля 2012

TarArchiveEntry предоставляет метод "getMode ()", который возвращает режим файла Unix, например,

TarArchiveEntry entry = input.getNextTarEntry();
while(entry != null) {
    System.out.println("Entry: " + entry.getName() + ", Mode: " + entry.getMode());
    entry = input.getNextTarEntry();
}

с файлом test-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

Подробные сведения о номерах режимов можно прочитать на многих сайтах в Интернете, например, здесь

HTH ... Доминик.

...