- 浏览: 685843 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
yzs5273:
没什么用。都试过了
WIN7下CS不能全屏的解决方法 -
di1984HIT:
不错,学习了
读取本地计算机中的安装程序列表 -
ffedu:
[flash=200,200][url][img][list] ...
linux/unix中如何用find命令详解,非常详细的介绍,比man find强100倍(转) -
lintghi:
...
Log4j使用相对路径指定log文件及使用总结 -
nick.s.ni:
唉,Java中引用的包没有介绍啊,如果数据库用UTF-8的格式 ...
Oracle 中Java 对象与PL/SQL类型的映射及使用(转)
Truezip东西做的好,可惜帮助写的不咋地,压缩和解压缩的示例都没提供好。
压缩文件的例子
File src = new File("abc.txt");
File dst = new File("abc.zip/abc.txt");
boolean success = src.copyTo(dst);
解压文件的例子
File src = new File("xyz.zip/xyz.txt");
File dst = new File("xyz.txt");
boolean success = src.copyTo(dst);
解决中文文件名问题的例子
import de.schlichtherle.io.ArchiveDetector;
import de.schlichtherle.io.DefaultArchiveDetector;
import de.schlichtherle.io.archive.tar.TarBZip2Driver;
import de.schlichtherle.io.archive.tar.TarDriver;
import de.schlichtherle.io.archive.tar.TarGZipDriver;
import de.schlichtherle.io.archive.zip.CheckedZip32Driver;
public class ZipTest {
/**
* @param args
*/
public static void main(String[] args) {
int a = zipSingleFile("D:\\ziptest\\中文haha.txt", "D:\\ziptest\\中文呵呵.zip");
int b = unzipSingleFile("D:\\ziptest\\中文呵呵.zip", "D:\\ziptest\\中文嘿嘿.txt");
}
/**
* 压缩一个文件
*
* @param srcFileName
* @param zipFileName
* @return
*/
public static int zipSingleFile(String srcFileName, String zipFileName) {
return zipSingleFile(srcFileName, zipFileName, "GBK");
}
public static int zipSingleFile(String srcFileName, String zipFileName,
String encoding) {
ArchiveDetector detector = new DefaultArchiveDetector(
ArchiveDetector.ALL, new Object[] { "zip",
new CheckedZip32Driver(encoding), "tar",
new TarDriver(encoding), "tgz|tar.gz",
new TarGZipDriver(encoding), "tbz|tar.bz2",
new TarBZip2Driver(encoding) });
String srcShortFilename = srcFileName.substring(srcFileName
.lastIndexOf('\\'));
boolean result = new de.schlichtherle.io.File(srcFileName, detector)
.copyTo(new de.schlichtherle.io.File(zipFileName + "/"
+ srcShortFilename, detector));
if (result)
return 0;
else
return -1;
}
/**
* 解压一个文件
*
* @param srcFileName
* @param destFileName
* @return
*/
public static int unzipSingleFile(String srcFileName, String destFileName) {
return unzipSingleFile(srcFileName, destFileName, "GBK");
}
public static int unzipSingleFile(String srcZipFileName,
String destFileName, String encoding) {
ArchiveDetector detector = new DefaultArchiveDetector(
ArchiveDetector.ALL, new Object[] { "zip",
new CheckedZip32Driver(encoding), "tar",
new TarDriver(encoding), "tgz|tar.gz",
new TarGZipDriver(encoding), "tbz|tar.bz2",
new TarBZip2Driver(encoding) });
de.schlichtherle.io.File zipfile = new de.schlichtherle.io.File(
srcZipFileName, detector);
if (!zipfile.isArchive())
return -1;
String files[] = zipfile.list();
if (files == null || files.length == 0) {
return -2;
}
boolean result = new de.schlichtherle.io.File(zipfile, files[0],
detector).copyTo(new de.schlichtherle.io.File(destFileName,
detector));
if (result)
return 0;
else
return -3;
}
}
压缩目录的时候使用copyAllTo等方法即可。
发表评论
-
Transfer
2017-06-29 23:03 0Find connections count: ... -
Discover the Mystery of Metaspace
2017-06-23 16:47 0The JDK 8 HotSpot JVM is now u ... -
Command Line JMX Client
2014-12-29 13:12 2567Command Line Parser: GNUComman ... -
Something about JVM class loading and initialization
2014-05-09 10:04 1000Class loading stages: Loadin ... -
When a class is loaded and initialized in JVM - Java
2014-05-08 19:09 953from: http://javarevisited.blo ... -
【深入Java虚拟机】之四:类加载机制
2014-05-08 15:12 865转载请注明出处:http://blog.csdn.net/n ... -
Java Reflection - Dynamic Class Loading and Reloading
2014-05-08 12:04 900From: http://tutorials.jenkov. ... -
Java 类加载与初始化
2014-02-19 19:12 777转载自:http://www.cnblogs.c ... -
javax.management.StandardMBean: When and Why. (Reposted)
2013-12-26 15:34 1049Q: When is a Standard MBean no ... -
JVM调优的"标准参数"的各种陷阱(转)
2013-11-11 19:55 1994From: http://hllvm.group.itey ... -
Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
2013-11-11 11:05 970(From: http://www.oracle.com/ ... -
An article about TLAB
2013-11-11 10:57 729(From: https://blogs.oracle.co ... -
【JVM】HotSpot JVM内存管理和GC策略总结(转)
2013-11-07 23:39 559JVM的相关知识是学习java高级特性必须要去深入学习的。平 ... -
jstat分析VM内存
2013-11-07 16:41 869Jstat 是JDK自带的一个轻量级小工具。全称“Java ... -
java的GridBagLayout网格包布局管理器使用详解 (转)
2013-11-01 16:44 0网格包布局管理是最复 ... -
java动态跟踪分析工具BTrace实现原理
2013-09-01 12:34 1232转自:http://kenwublog.com ... -
Java synchronize用法(转)
2012-11-05 00:20 1179在多个并发线程之间共用资源,就需要进行同步处理。Java虚拟机 ... -
Interview material collection
2012-07-09 23:05 11641. Why can't static methods be ... -
不要重复 DAO!(转)
2011-12-29 22:17 1211使用 Hibernate 和 Spri ... -
JVM 诊断工具(转)
2011-11-25 12:00 17291.jinfo 描述:输出给定 java 进程所有的配置信 ...
相关推荐
truezip-6.jarjava下开源打包工具
truezip.jar 解决ZipOutputStream中文乱码
java程序中用于压缩文件的工具类。可以解决含有中文名称文件的压缩问题。
More importantly, this will also initially set up the TrueZIP File* API to detect all canonical file suffixes of all supported archive file types in TrueZIP 7.3-rc-1 - see the table at the end of ...
oss4springmvc.zip,OSS4SpringMVC是阿里云OSS快速开发的插件。
压缩JAR,解决部分文件压缩异常问题
commons-vfs-extensions.zip,使用commons vfs体系结构和truezip backenda的zip文件中的r/w操作使用优秀的沙丁鱼库更快地实现commons-vfs2的webdav