- 浏览: 778575 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (256)
- ssh (18)
- webservice (8)
- java基础 (38)
- j2EE方方面面 (17)
- 随意涂鸭!呵呵 (2)
- 数据库 (22)
- work (10)
- XML与XML解析 (9)
- 测试 (2)
- sso (1)
- ldap (6)
- java 模板技术 (4)
- 版本管理 (1)
- 每日小点滴 (26)
- javascript (26)
- Jakarta Commons (2)
- css (6)
- 设计 (3)
- Eclipse插件开发 (3)
- BAP (3)
- web控件 (2)
- java加密解密 (4)
- 调优 (6)
- 界面技术 (3)
- java多线程 (6)
- 互联网 (2)
- 日志管理 (4)
- java调度 (3)
- rest (0)
- Python (2)
- mobile (2)
- 2016的故事 (4)
- Docker (1)
- NOSQL_Hadoop (0)
最新评论
-
promiseloney:
这个女程序员厉害了。。。
JVM调优:GC 参数 -
zxjlwt:
可以通过WebService上传一个文件吗?素人派http:/ ...
webservice传送XML大小估算 -
liaoshaoyang:
写的不错嘛 可以做参考
权限管理设计一 -
aaaaaaaaabaas:
谢谢,对我有帮助
Apache Commons Configuration使用入门 -
Jack_Wilshere:
com.smartdot.pdm.business.corp. ...
java导出txt
经测试,文件名为中文的压缩完为乱码,测试过.txt 的文件类型,中文内容可以正常显示。
所以这种方案不可行。
import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.commons.io.IOUtils; import org.apache.commons.io.FileUtils; /** * @author 压缩指定的目录以及解压指定的压缩文件(仅限ZIP格式). */ public class ZipUtils { /** * 将指定目录下的所有文件压缩并生成指定路径的压缩文件. 如果压缩文件的路径或父路径不存在, 将会自动创建. * * @param src * 将要进行压缩的目录 * @param zip * 最终生成的压缩文件的路径 */ public static void zip(File src, File zip) throws IOException { zip(src, FileUtils.openOutputStream(zip)); } /** * 将指定目录下的所有文件压缩并将流写入指定的输出流中. * * @param src * 将要进行压缩的目录 * @param out * 用于接收压缩产生的文件流的输出流 */ public static void zip(File src, OutputStream out) throws IOException { zip(src, new ZipOutputStream(out)); } /** * 将指定目录下的所有文件压缩并将流写入指定的ZIP输出流中. * * @param src * 将要进行压缩的目录 * @param zout * 用于接收压缩产生的文件流的ZIP输出流 */ public static void zip(File src, ZipOutputStream zout) throws IOException { try { doZip(src, zout, ""); } finally { IOUtils.closeQuietly(zout); } } /** * 将指定的压缩文件解压到指定的目标目录下. 如果指定的目标目录不存在或其父路径不存在, 将会自动创建. * * @param zip * 将会解压的压缩文件 * @param dest * 解压操作的目录目录 */ public static void unzip(File zip, File dest) throws IOException { unzip(FileUtils.openInputStream(zip), dest); } /** * 将指定的输入流解压到指定的目标目录下. * * @param in * 将要解压的输入流 * @param dest * 解压操作的目标目录 */ public static void unzip(InputStream in, File dest) throws IOException { unzip(new ZipInputStream(in), dest); } /** * 将指定的ZIP输入流解压到指定的目标目录下. * * @param zin * 将要解压的ZIP输入流 * @param dest * 解压操作的目标目录 */ public static void unzip(ZipInputStream zin, File dest) throws IOException { try { doUnzip(zin, dest); } finally { IOUtils.closeQuietly(zin); } } /** * @param src 源文件目录或者文件 * @param zout 输出的流 * @param ns */ private static void doZip(File src, ZipOutputStream zout, String ns) throws IOException { for (File file : src.listFiles()) { String entryName = ns + file.getName(); if (file.isDirectory()) { System.out.println("adding: {}"+entryName + "/"); zout.putNextEntry(new ZipEntry(entryName)); doZip(file, zout, entryName); } else { System.out.println("adding: {}"+ entryName); zout.putNextEntry(new ZipEntry(entryName)); fillZip(FileUtils.openInputStream(file), zout); } } } /** * @param zin * @param dest */ private static void doUnzip(ZipInputStream zin, File dest) throws IOException { for (ZipEntry e; (e = zin.getNextEntry()) != null; zin.closeEntry()) { File file = new File(dest, e.getName()); if (e.isDirectory()) { System.out.println(" creating: {}"+file.getName() + File.separator); FileUtils.forceMkdir(file); } else { System.out.println("inflating: {}"+file); flushZip(zin, FileUtils.openOutputStream(file)); } } } /** * @param in * @param zout */ private static void fillZip(InputStream in, ZipOutputStream zout) throws IOException { try { IOUtils.copy(in, zout); } finally { IOUtils.closeQuietly(in); } } /** * @param zin * @param out */ private static void flushZip(ZipInputStream zin, OutputStream out) throws IOException { try { IOUtils.copy(zin, out); } finally { IOUtils.closeQuietly(out); } } /** * */ private static Logger logger = LoggerFactory.getLogger(ZipUtils.class); public static void main(String[] args){ try { ZipUtils.zip(new File("D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情小说吧_www.xs8.cn") , new File("D:\\evidence\\20120712\\重生回到1997_2012071213114144\\言情.zip")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
发表评论
-
Redis command
2019-07-05 09:43 0redis-cli -v : 查看redis version ... -
Spring Boot Actuator
2018-07-24 13:46 695Spring Boot : 2.0.3 POM文件中加入 ... -
关于CXF的FrontEnd和数据绑定方案
2013-06-17 11:45 1122转载自:http://blog.csdn.net/blui ... -
webservice传送XML大小估算
2013-06-06 12:22 77402013-06-06 某天,要做几个WebService, ... -
java-HashSet源码学习
2013-06-05 15:22 808HashSet: 不支持多线程 ... -
Java @override报错的解决方法 .
2013-04-28 09:59 814有时候Java的Eclipse工程换一台电脑后编译总是@ov ... -
myeclipse中的classpath .
2013-04-03 10:32 14938myeclipse中的classpath是 ... -
int i 引出JVM故事
2013-02-27 18:47 749public class TestDuanqf { ... -
java调度:(五) 用户自定义调度策略+spring+quartz
2013-02-22 18:21 0一般应该中,quartz的调度策略都是在xml配置文件中设 ... -
java内存系列:测试JDK最大内存
2013-02-22 18:09 1894JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可 ... -
日志管理(一):slf4j原理简单介绍
2013-01-24 18:44 3048转载自:http://blog.sina.com.cn/s ... -
concurrent: wai notify notifyAll
2013-01-09 10:16 830转载自:http://sishuok.com ... -
JDK5--Annotation学习:基础(二)
2012-12-04 19:56 1029转载自:http://www.iteye.com/topic/ ... -
JDK5--Annotation学习:基础(一)
2012-12-04 19:29 1097转载连接:http://www.iteye.com/topic ... -
concurrent: ThreadPoolExecutor 用法
2012-09-03 15:19 2994thread pool一般被用来 ... -
concurrent: Callable用法
2012-09-03 14:23 1282转载自: http://auguslee.iteye.com/ ... -
java调度:(六)quarts_cron表达式
2012-07-31 13:59 1250七个域要记住,从左到 ... -
java 附件
2012-07-12 15:47 0转载: java下载附件方法: Java ... -
java内存溢出
2012-05-15 10:57 5910一、问题 ... -
java --HashTable学习
2011-11-21 16:10 1252今天在家无事,闲来看看JDK源码,就从HashTable看起 ...
相关推荐
在Java中处理文件的压缩与解压时,经常会遇到中文文件名出现乱码的问题。这个问题主要源于Java中默认使用的编码方式与实际文件名编码不一致,尤其是在Windows系统下,文件名通常采用GB2312或GBK编码,而Java中的`...
【描述】"sun-java6-jdk的安装包" 暗示了这个压缩文件是为了在计算机系统上安装Java 6开发环境而设计的。JDK 6是Java平台的一个重要版本,包含了Java运行时环境(JRE)以及用于构建和测试Java程序的各种工具。此外,...
在深入探讨如何在Ubuntu下安装sun-java6-jdk和eclipse之前,我们先来了解一些基础知识,这将有助于更好地理解整个安装过程。 ### Java在Linux系统中的重要性 Java是一种广泛使用的编程语言,它以其“一次编写,...
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
在Java编程中,处理文件压缩和解压是常见的任务,特别是使用ZIP格式。然而,当涉及到包含中文字符的文件或目录时,可能会遇到乱码问题。这个问题主要源于字符编码的不一致,通常需要正确设置字符集来确保中文字符在...
java-jdk1.8-8u361-all-jdk-win-linux 该压缩包中包含jdk1.8-8u361下windows版本和linux版本,其包含快速安装包和对应的jdk压缩包版本,具体内容如下: jdk-8u361-linux-aarch64.rpm jdk-8u361-linux-i586.rpm jdk-8...
Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序必不可少的软件包,它包含了Java编译器、类库以及各种工具,使得开发者能够...
本文将详细介绍如何使用Java实现文件下载功能,并重点讲解如何解决中文文件名乱码的问题。 #### 一、基本原理与步骤 1. **读取文件**:首先需要将要下载的文件读取到内存中。 2. **设置响应头**:为了正确地告知...
标题中的"jdk-1.7-java-7-openjdk-amd64.zip"表明这是一个Java开发工具包(JDK)的压缩文件,版本为1.7,适用于AMD64架构的Linux系统。OpenJDK是Java Development Kit的一个开源实现,由Oracle公司支持并维护。这个...
1. **下载**:首先,你需要从Oracle官方网站或者通过提供的链接(blog.csdn.net/FL1623863129/article/details/134426730)下载适用于Linux x64的`java-jdk1.8-jdk-8u202-linux-x64.zip`压缩文件。确保文件完整无损...
word java 导出 aspose aspose-words-23.3-jdk16word java 导出 aspose aspose-words-23.3-jdk16word java 导出 aspose aspose-words-23.3-jdk16word java 导出 aspose aspose-words-23.3-jdk16word java 导出 ...
Java 8 开发工具包(Java Development Kit,简称JDK)是Java编程语言的重要组成部分,它包含了一系列用于开发和运行Java应用程序的工具。OpenJDK 是一个开源版本的 JDK,由 Oracle 公司主导并维护,它遵循GNU ...
Java-JDK1.8-windows-x64位——免费不要积分!!! Java-JDK1.8-windows-x64位——免费不要积分!!! Java-JDK1.8-windows-x64位——免费不要积分!!! Java-JDK1.8-windows-x64位——免费不要积分!!! Java-JDK...
`-z`参数表示使用gzip解压,`-x`表示解压,`-v`用于详细模式显示解压过程,`-f`后面跟的是压缩文件名。 解压后,你会看到一个名为`jdk1.8.0_202`的目录,其中包含了JDK的所有文件和子目录。 3. **执行安装脚本**...
java-jdk-8u152安装包java-jdk-8u152安装包java-jdk-8u152安装包
Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Linux x64操作系统设计。这个压缩包文件"java-jdk1.8-jdk-8u201-linux-x64.zip"包含了JDK 8u201的安装程序,特别是针对64位Linux系统的版本。JDK是Java语言...
1. 首先,使用`unzip java-jdk1.8-jdk-8u192-linux-x64.zip`命令解压缩文件。 2. 解压后,你会得到一个名为`jdk-8u192-linux-x64.tar.gz`的文件,使用`tar -zxvf jdk-8u192-linux-x64.tar.gz`命令将其解压到指定目录...
这个压缩包文件“java-jdk1.8-jdk-8u191-linux-x64.zip”包含了用于在64位Linux系统上安装和使用的JDK 1.8更新191的所有必要组件。JDK(Java Development Kit)是开发和运行Java应用程序的基础,它包括了Java编译器...
1. 解压缩"java-jdk1.6-jdk-6u45-windows-x64.zip"文件,这将释放出"jdk-6u45-windows-x64.exe"可执行文件。 2. 双击运行"jdk-6u45-windows-x64.exe",安装向导会引导你完成安装过程。通常,你需要选择安装路径,...
在安装过程中,系统会自动将JDK安装到指定目录,并且一般会默认设置JAVA_HOME环境变量,指向JDK的安装路径,同时将bin目录添加到PATH环境变量中,以便在任何地方都能运行Java命令。 JDK 1.8引入了许多重要的特性,...