Я ищу способ прочитать содержимое RPM во время выполнения Java.
Кто-то предложил использовать 7zip для распаковки и / или извлечения RPM во время выполнения, используя системную команду для 7zip.
у этого решения есть два минуса:
- Это зависит от платформы (поскольку команды будут специфичны для одной ОС)
- Это было связано со сторонним программным обеспечением.
есть идеи?
РЕДАКТИРОВАТЬ:
Я пытаюсь идти по дороге Роберта. Вот мой код:
String file = "MyRpm.rpm";
CpioArchiveInputStream cpioIn =
new CpioArchiveInputStream( new FileInputStream(new File(file)) );
CpioArchiveEntry cpioEntry;
while ((cpioEntry = cpioIn.getNextEntry()) != null)
{
System.out.println(cpioEntry.getName());
int tmp;
StringBuffer buf = new StringBuffer();
while ((tmp = cpioIn.read()) != -1)
{
buf.append((char) tmp);
}
System.out.println(buf.toString());
}
cpioIn.close();
Я получаю исключение: java.io.IOException: Unknown magic [????
(забавные символы взяты из исходного сообщения об ошибке).