import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
import lombok.extern.log4j.Log4j2;
/**
* zip解压/压缩工具
*
* @author tangzhichao
*
*/
@Log4j2
public class ZipUtil {
/**
*
* @param folderPath
* 要压缩的文件夹路径
* @param zipPath
* 压缩后的zip文件路径
* @param charset
* 字符编码,解决中文名称乱码
* @param propertyChangeListener
* 进度通知
* @throws Exception
*/
public static void zip(String folderPath, String zipPath, String charset, PropertyChangeListener propertyChangeListener) throws Exception {
long totalSize = getTotalSize(new File(folderPath));
try (ZipOutputStream zipOutput = new ZipOutputStream(new FileOutputStream(zipPath), Charset.forName(charset)); BufferedOutputStream output = new BufferedOutputStream(zipOutput)) {
File folder = new File(folderPath);
zip(zipOutput, output, folder, folder.getName(), totalSize, 0, zipPath, propertyChangeListener);
} catch (Exception e) {
log.error("error", e);
}
}
private static long zip(ZipOutputStream zipOutput, BufferedOutputStream output, File source, String sourceName, long totalSize, long readSize, String zipPath,
PropertyChangeListener propertyChangeListener) throws IOException {
if (source.isDirectory()) {
File[] flist = source.listFiles();
if (flist.length == 0) {
zipOutput.putNextEntry(new ZipEntry(sourceName + "/"));
} else {
for (int i = 0; i < flist.length; i++) {
readSize = zip(zipOutput, output, flist[i], sourceName + "/" + flist[i].getName(), totalSize, readSize, zipPath, propertyChangeListener);
}
}
return readSize;
} else {
zipOutput.putNextEntry(new ZipEntry(sourceName));
try (BufferedInputStream input = new BufferedInputStream(new FileInputStream(source))) {
byte[] b = new byte[1024];
for (int len = input.read(b); len > 0; len = input.read(b)) {
output.write(b, 0, len);
}
} catch (Exception e) {
log.error("error", e);
}
Integer oldValue = (int) ((readSize * 1.0 / totalSize) * 100);// 已压缩的字节大小占总字节的大小的百分比
readSize += source.length();// 累加字节长度
Integer newValue = (int) ((readSize * 1.0 / totalSize) * 100);// 已压缩的字节大小占总字节的大小的百分比
if (propertyChangeListener != null) {// 通知调用者压缩进度发生改变
propertyChangeListener.propertyChange(new PropertyChangeEvent(zipPath, "progress", oldValue, newValue));
}
return readSize;
}
}
private static long getTotalSize(File file) {
if (file.isFile()) {
return file.length();
}
File[] list = file.listFiles();
long total = 0;
if (list != null) {
for (File f : list) {
total += getTotalSize(f);
}
}
return total;
}
/**
* 解压
*
* @param zipPath
* 要解压的zip文件路径
* @param targetPath
* 存放解压后文件的目录
* @param charset
* 字符编码,解决中文名称乱码
* @param propertyChangeListener
* 进度通知
* @throws Exception
*/
public static void unzip(String zipPath, String targetPath, String charset, PropertyChangeListener propertyChangeListener) throws Exception {
long totalSize = new File(zipPath).length();// 总大小
long readSize = 0;
try (ZipInputStream zipInput = new ZipInputStream(new FileInputStream(zipPath), Charset.forName(charset))) {
for (ZipEntry zipItem = zipInput.getNextEntry(); zipItem != null; zipItem = zipInput.getNextEntry()) {
if (!zipItem.isDirectory()) {
File file = new File(targetPath, zipItem.getName());
if (!file.exists()) {
new File(file.getParent()).mkdirs();// 创建此文件的上级目录
}
try (BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file))) {
byte[] b = new byte[1024];
for (int len = zipInput.read(b); len > 0; len = zipInput.read(b)) {
out.write(b, 0, len);
}
} catch (Exception e) {
log.error("error", e);
}
Integer oldValue = (int) ((readSize * 1.0 / totalSize) * 100);// 已解压的字节大小占总字节的大小的百分比
readSize += zipItem.getCompressedSize();// 累加字节长度
Integer newValue = (int) ((readSize * 1.0 / totalSize) * 100);// 已解压的字节大小占总字节的大小的百分比
if (propertyChangeListener != null) {// 通知调用者解压进度发生改变
propertyChangeListener.propertyChange(new PropertyChangeEvent(zipPath, "progress", oldValue, newValue));
}
}
}
} catch (Exception e) {
log.error("error", e);
}
}
public static void main(String[] args) {
try {
zip("C:\\Users\\tangzhichao\\Desktop\\65534英语国标音标TS28-60005", "C:\\Users\\tangzhichao\\Desktop\\test.zip", "GBK", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
System.out.println(">>>Source:" + e.getSource());
System.out.println(">>>NewValue:" + e.getNewValue());
}
});
String zip_path1 = "C:\\Users\\tangzhichao\\Desktop\\test.zip";
String unzip_path1 = "C:\\Users\\tangzhichao\\Desktop\\test";
unzip(zip_path1, unzip_path1, "GBK", new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
System.out.println("<< + e.getSource());
System.out.println("<< + e.getNewValue());
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行,控制台打印结果如下:
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:0
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:0
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:2
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:2
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:3
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:3
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:4
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:5
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:6
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:7
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:8
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:9
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:11
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:12
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:12
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:13
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:13
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:14
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:15
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:16
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:16
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:17
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:17
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:18
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:20
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:20
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:21
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:21
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:21
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:21
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:21
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:22
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:22
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:22
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:22
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:23
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:23
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:23
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:24
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:24
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:24
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:25
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:25
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:25
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:25
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:25
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:26
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:26
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:26
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:26
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:27
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:27
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:27
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:27
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:28
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:28
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:28
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:28
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:29
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:29
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:29
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:29
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:30
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:30
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:30
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:30
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:31
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:31
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:31
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:31
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:32
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:33
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:33
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:33
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:33
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:34
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:34
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:34
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:34
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:35
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:35
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:35
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:35
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:35
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:36
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:36
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:36
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:36
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:37
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:37
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:37
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:37
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:37
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:38
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:38
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:38
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:38
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:38
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:39
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:39
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:39
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:39
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:39
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:40
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:40
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:40
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:40
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:41
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:41
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:41
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:41
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:41
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:42
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:42
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:42
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:42
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:42
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:43
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:43
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:45
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:48
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:48
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:49
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:50
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:50
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:53
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:55
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:55
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:57
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:57
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:57
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:58
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:58
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:58
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:58
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:58
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:59
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:59
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:59
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:59
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:59
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:60
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:60
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:60
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:60
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:60
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:61
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:61
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:61
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:61
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:61
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:62
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:62
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:62
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:63
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:63
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:63
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:63
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:63
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:64
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:64
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:64
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:65
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:65
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:65
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:65
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:65
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:66
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:66
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:66
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:67
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:67
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:67
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:67
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:67
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:68
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:68
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:68
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:68
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:68
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:69
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:69
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:69
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:69
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:69
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:70
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:70
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:70
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:70
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:70
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:71
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:71
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:71
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:71
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:72
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:72
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:72
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:72
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:72
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:73
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:73
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:73
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:73
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:73
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:74
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:74
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:74
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:74
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:74
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:75
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:75
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:75
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:75
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:76
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:76
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:76
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:76
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:77
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:77
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:77
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:77
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:77
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:78
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:78
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:78
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:78
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:78
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:79
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:81
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:83
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:84
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:86
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:87
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:88
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:88
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:90
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:93
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:94
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:96
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:99
>>>Source:C:\Users\tangzhichao\Desktop\test.zip
>>>NewValue:100
<<