这段代码为何会出现异常?

星辰Kee 2016-04-14 03:33:49



package demo12.zipdemo;

import java.io.File ;
import java.io.FileInputStream ;
import java.io.InputStream ;
import java.io.OutputStream ;
import java.util.zip.ZipEntry ;
import java.util.zip.ZipOutputStream ;
import java.util.zip.ZipFile ;
import java.io.FileOutputStream ;
public class ZipFileDemo02{
public static void main(String args[]) throws Exception{ // 所有异常抛出
File file = new File("d:" + File.separator + "mldn.zip") ; // 找到压缩文件
File outputFile = new File("d:" + File.separator + "mldn_unzip.txt") ; // 定义解压缩的文件名称
ZipFile zipFile = new ZipFile(file) ; // 实例化ZipFile对象
ZipEntry entry = zipFile.getEntry("mldn.txt") ; // 得到一个压缩实体
OutputStream out = new FileOutputStream(outputFile) ; // 实例化输出流
InputStream input = zipFile.getInputStream(entry) ; // 得到一个压缩实体的输入流
int temp = 0 ;
while((temp=input.read())!=-1){
out.write(temp) ;
}
input.close() ; // 关闭输入流
out.close() ; // 关闭输出流
}
};

...全文
115 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
星辰Kee 2016-04-15
  • 打赏
  • 举报
回复
引用 4 楼 wangxilong1991 的回复:
ZipEntry entry = zipFile.getEntry("mldn.txt") ; 压缩包里没有mldn.txt这个文件
试了一下,是正解!
AngelaPotato 2016-04-14
  • 打赏
  • 举报
回复
ZipEntry entry = zipFile.getEntry("mldn.txt") ; 压缩包里没有mldn.txt这个文件
theSnai1 2016-04-14
  • 打赏
  • 举报
回复
注意看报错:提示位置是当前文件的第18行报错,可能是zipfile或entry为空,但是16行的zipfile并没报空指针,所以是entry为空导致的空指针。
w515501294 2016-04-14
  • 打赏
  • 举报
回复
ZipEntry entry = zipFile.getEntry("mldn.txt") ; 写上这个文件的绝对路径吧
e9876 2016-04-14
  • 打赏
  • 举报
回复
ZipFile里面的方法只要传入空值就会抛出NullPointException异常 换句话说 ZipEntry entry = zipFile.getEntry("mldn.txt") ; 这个entry是空的。 文件名写错了?

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧