Java - получить список имен файлов в текущем JAR - PullRequest
0 голосов
/ 02 марта 2012

Мне нужно получить имена файлов каждого файла, который находится в определенной папке внутри JAR моей программы во время его работы. Можно ли сделать это? Я не уверен, с чего начать.

Это должно быть сделано программно и не зависеть от платформы.

Ответы [ 2 ]

4 голосов
/ 02 марта 2012

Чтобы просмотреть содержимое файла jar, просто запустите:

$jar tf MyJar.jar

Вы хотите сделать это программно из Java?

Чтобы сделать это программно, см. этот пример.

1 голос
/ 02 марта 2012

Вы запрашиваете что-то, что вообще недоступно.Классы загружаются через ClassLoader экземпляры, которые могут получить байт-код класса из разных мест (сеть, файл JAR, файлы .class в каталоге, динамически генерируемые).

Самое большее, что вы можете знать, это иерархия пакетов, которую вы можете получить из

myObject.getClass().getClassLoader().getPackages()

, которая возвращает список пакетов, доступных на момент вызова.Для данного пакета вы, вероятно, не сможете определить, откуда он.

...