如何在java中提取.pkg扩展名文件数据

如何在java中提取.pkg扩展名文件数据,java,Java,我有一个.pkg文件,我想用Java提取该文件的数据。每当我试图通过ZipFile提取数据时,它都会引发异常: java.io.FileNotFoundException: C:\Users\kapilb\Desktop\kapilBaghel\dmserver.pkg (The system cannot find the file specified) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.

我有一个.pkg文件,我想用Java提取该文件的数据。每当我试图通过
ZipFile
提取数据时,它都会引发异常:

java.io.FileNotFoundException: C:\Users\kapilb\Desktop\kapilBaghel\dmserver.pkg (The system cannot find the file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:214)
at java.util.zip.ZipFile.<init>(ZipFile.java:144)
at java.util.zip.ZipFile.<init>(ZipFile.java:158)
at dm.com.app.core.database.Testing.unZip(Testing.java:22)
at dm.com.app.core.database.Testing.main(Testing.java:61)

java.io.FileNotFoundException:C:\Users\kapilb\Desktop\kapilBaghel\dmserver.pkg(系统找不到指定的文件)
位于java.util.zip.ZipFile.open(本机方法)
位于java.util.zip.ZipFile。(ZipFile.java:214)
位于java.util.zip.ZipFile(ZipFile.java:144)
位于java.util.zip.ZipFile(ZipFile.java:158)
位于dm.com.app.core.database.Testing.unZip(Testing.java:22)
位于dm.com.app.core.database.Testing.main(Testing.java:61)
守则:

public static void unZip(File objZipFile, File objDestDir) {

    try {
        ZipFile zipFile = new ZipFile(objZipFile);
        Enumeration<?> enu = zipFile.entries();
        while (enu.hasMoreElements()) {
            ZipEntry zipEntry = (ZipEntry) enu.nextElement();

            String name = zipEntry.getName();

            File file = new File(objDestDir, name);
            if (name.endsWith("/")) {
                file.mkdirs();
                continue;
            }

            File parent = file.getParentFile();
            if (parent != null) {
                parent.mkdirs();
            }

            InputStream is = zipFile.getInputStream(zipEntry);
            FileOutputStream fos = new FileOutputStream(file);
            byte[] bytes = new byte[1024];
            int length;
            while ((length = is.read(bytes)) >= 0) {
                fos.write(bytes, 0, length);
            }
            is.close();
            fos.close();

        }
        zipFile.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
publicstaticvoidunzip(文件objZipFile,文件objDestDir){
试一试{
ZipFile ZipFile=新ZipFile(objZipFile);
枚举enu=zipFile.entries();
而(enu.hasMoreElements()){
ZipEntry ZipEntry=(ZipEntry)enu.nextElement();
String name=zipEntry.getName();
File File=新文件(objDestDir,名称);
if(name.endsWith(“/”){
mkdirs()文件;
持续
}
File parent=File.getParentFile();
如果(父项!=null){
parent.mkdirs();
}
InputStream is=zipFile.getInputStream(zipEntry);
FileOutputStream fos=新的FileOutputStream(文件);
字节[]字节=新字节[1024];
整数长度;
而((长度=is.read(字节))>=0){
fos.写入(字节,0,长度);
}
is.close();
fos.close();
}
zipFile.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}

可能是
。pkg
是否隐藏?是否确实可以解压缩.pkg?
java.io.FileNotFoundException:C:\Users\kapilb\Desktop\kapilBaghel\dmserver.pkg(系统找不到指定的文件)
这是操作系统说该文件不存在。这个错误消息很可能是准确的。你能确认文件确实存在吗?是的,我知道了。Thank guys InputStream fin=新文件InputStream(“dmproxy.pkg”);BufferedInputStream in=新的BufferedInputStream(fin);BZIP2压缩机输入流bzIn=新的BZIP2压缩机输入流(in);