如何在java中读取RPM的内容
我正在寻找一种在java运行时读取RPM内容的方法 有人建议使用7zip在运行时使用系统命令7zip解包和/或提取RPM 该解决方案有两个缺点:如何在java中读取RPM的内容,java,rpm,Java,Rpm,我正在寻找一种在java运行时读取RPM内容的方法 有人建议使用7zip在运行时使用系统命令7zip解包和/或提取RPM 该解决方案有两个缺点: 它依赖于平台(因为命令将特定于一个操作系统) 它涉及第三方软件 有什么想法吗 编辑: 我想沿着罗伯特的路走。这是我的密码: String file = "MyRpm.rpm"; CpioArchiveInputStream cpioIn = new CpioArchiveInputStream( new FileInputStream
我想沿着罗伯特的路走。这是我的密码:
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[??
(有趣的字符来自原始错误消息).似乎commons compress
有一个在读取RPM文件中的数据时可能有用的方法。使用库来解压缩LZMA:什么是RMP?你是说RPM吗?不确定为什么会发生这种情况,也许你可以在库的邮件列表中询问打开bug报告。我没有使用它,只是用谷歌的earch。