java 解压缩后放到 一个list里。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 解压缩后放到 一个list里。相关的知识,希望对你有一定的参考价值。
package com.smartdot.eafr.common.controller;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
/**
* 可以处理中文文件名
*/
public class Test
private static final int buffer = 2048;
public static void main(String[] args)
unZip("D:\\img.zip");
public static void unZip(String path)
int count = -1;
int index = -1;
String savepath = "";
boolean flag = false;
File file = null;
InputStream is = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
savepath = path.substring(0, path.lastIndexOf("\\")) + "\\";
try
ZipFile zipFile = new ZipFile(path);
Enumeration<?> entries = zipFile.getEntries();
while(entries.hasMoreElements())
byte buf[] = new byte[buffer];
ZipEntry entry = (ZipEntry)entries.nextElement();
String filename = entry.getName();
index = filename.lastIndexOf("/");
if(index > -1)
filename = filename.substring(index+1);
filename = savepath + filename;
flag = isPics(filename);
if(!flag)
continue;
file = new File(filename);
file.createNewFile();
is = zipFile.getInputStream(entry);
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos, buffer);
while((count = is.read(buf)) > -1)
bos.write(buf, 0, count );
fos.close();
is.close();
zipFile.close();
catch(IOException ioe)
ioe.printStackTrace();
public static boolean isPics(String filename)
boolean flag = false;
if(filename.endsWith(".jpg") || filename.endsWith(".gif") || filename.endsWith(".bmp") || filename.endsWith(".png"))
flag = true
return flag;
我要上传个压缩包,解析后放到list里,然后吧list里的东西放到页面上。这思路谁能提一下 ,拜托了
解压缩
解压缩
## 一、 解压缩
如果我们给出一个列表,我们需要一次性取出多个值,我们是不是可以用下面的方式实现呢?
name_list = ['randy', 'sun', 'weilai']
x = name_list[0]
y = name_list[1]
z = name_list[2]
print(f'x:{x}, y:{y}, z:{z}')
解压缩
解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。
name_list = ['randy', 'sun', 'weilai', 'diaoshi', 'saoqi']
x, y, z = name_list
x, _, z, _ = name_list # _相当于告诉计算机不要了,不能以_开头和结尾
还能有一个更骚的操作,只可意会不可言传。
name_list = ['randy', 'sun', 'weilai', 'diaoshi', 'saoqi']
x, y, _, _, _, z = name_list
x, y, *_, z = name_list # *_会把前面x和z中间的所有数据省略掉,都不要
写程序不是用来装逼的,关键是创造价值。python追求的是简洁性,代码不要写的太长了。因此字典也是可以的,但是字典解压缩的是key。
info = {'name': 'randy', 'age': 18}
x, y = info
print(x, y)
name age
二、总结
- 解压缩作用:一次接受多个值,并且具有一定的意义,一般适应少数数据进行解压缩
- 解压缩可以过滤,你不想要的数据,无需定义变量名,只需通过 _ 实现接受多于的数据, *_会把前面x和z中间的所有数据省略掉,都不要
- 解压缩还可以对字段进行解压缩,但是只可以是key
以上是关于java 解压缩后放到 一个list里。的主要内容,如果未能解决你的问题,请参考以下文章