java zip上传_java如何解压页面上传到服务器的zip文件

我是通过Form中FormFile类型的对象取得上传的zip文件,如何将zip文件中的子文件解压到服务器的某一路径下?publicvoidimportShuoMingShu(FormFilefile)throwsBaseException{//读取文件...

我是通过Form中FormFile类型的对象取得上传的zip文件,如何将zip文件中的子文件解压到服务器的某一路径下?

public void importShuoMingShu(FormFile file) throws BaseException{

// 读取文件流,转成excel对象,分析对象,存入数据

try {

InputStream stream = file.getInputStream();

BufferedInputStream origin = new BufferedInputStream(stream, 2048);

ZipInputStream zout = new ZipInputStream(origin);

ZipEntry zipEntry = null;

//循环遍历zip中的每一个文件进行处理

while( ( zipEntry = zout.getNextEntry() ) != null ){

//如果是文件夹,不做处理

if(zipEntry.isDirectory()){

continue;

}

//取得文件名

String xlsName = zipEntry.getName().trim();

//取得当前该文件流

File xlsFile = new File("c://" + xlsName);

OutputStream outputS = new FileOutputStream(xlsFile);

ZipFile zf = (ZipFile)file;

InputStream inputS = zf.getInputStream(zipEntry);

byte[] by = new byte[100000];

int c;

while ((c = inputS.read(by)) != -1) {

outputS.write(by, 0, c);

}

outputS.flush();

outputS.close();

}

以上是我的代码 不过在ZipFile zf = (ZipFile)file;处出现了强制转型异常,请高手帮忙看看该如何解决这个问题。谢谢

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值