关于不解压zip文件如何直接获取压缩包里的file对象问题 ...拜托了各位 谢谢

如果将zip解压到指定目录的话,那问题当然好解决。但是问题是我想不解压zip文件,而直接获取里面的File对象。例如boys.zip压缩包中有liming.txt,sunying.bat,sunny.sql 三个File文件如何不解压zip文件 直接获得这三个对象File呢?我自己写了个方法但是很遗憾没有取到..请大家指教下。 public void unzip(File zipfile) throws Exception { // 解压文件不存在时返回 if (!zipfile.exists()) { System.out.println("指定的文件不存在..."); return null; } FileInputStream fin = new FileInputStream(zipfile); ZipInputStream zin = new ZipInputStream(fin); ZipEntry entry = null; while ((entry = zin.getNextEntry()) != null) { File tmp = new File(entry.getName()); } zin.close(); }

提取出来都是要解压的,出现你那种状况可能是你的压缩包损坏了。你可以尝试一下一下操作。
打开压缩包:工具——》修复压缩文件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-01
一般我们在编写完Java程序中获取资源路径,在开发和调试期(未打包前),是没有问题的,但在打包后,由于资源(图片、配置文件等)都将打包到jar文件中,由于System中的“user.dir”属性发生了变化,会造成用绝对路径的方式无法找到jar文件中的资源文件。因为程序载入图片或文本文件时,使用以当前工作路径为基准的方式来指定文件和路径,而资源文件打在jar包中后程序无法通过绝对路径找到。因此可采用Java本身以类为基准的路径搜索方式。如下两种方式:取得相对于包的根路径String path = new File(FrameConfig.class.getResource("/").getFile()) .getAbsolutePath(); 取得相对于包路径的流Reader reader = new InputStreamReader( FrameConfig.class.getResourceAsStream("/res/uiConfig.xml")); ……更多的请来我博客看吧,不全发上来了,累。。。呵呵。http://www.shuyangyang.com.cn/jishuliangongfang/Javabiancheng/2013-06-21/88.html 查看原帖>>本回答被提问者采纳
相似回答