- 浏览: 780109 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 701Spring Boot : 2.0.3 POM文件中加入 ... -
关于CXF的FrontEnd和数据绑定方案
2013-06-17 11:45 1128转载自:http://blog.csdn.net/blui ... -
webservice传送XML大小估算
2013-06-06 12:22 77532013-06-06 某天,要做几个WebService, ... -
java-HashSet源码学习
2013-06-05 15:22 813HashSet: 不支持多线程 ... -
Java @override报错的解决方法 .
2013-04-28 09:59 820有时候Java的Eclipse工程换一台电脑后编译总是@ov ... -
myeclipse中的classpath .
2013-04-03 10:32 14945myeclipse中的classpath是 ... -
int i 引出JVM故事
2013-02-27 18:47 764public class TestDuanqf { ... -
java调度:(五) 用户自定义调度策略+spring+quartz
2013-02-22 18:21 0一般应该中,quartz的调度策略都是在xml配置文件中设 ... -
java内存系列:测试JDK最大内存
2013-02-22 18:09 1901JDK各个版本在不同操作系统中支持的最大内存是不一样的,但是可 ... -
日志管理(一):slf4j原理简单介绍
2013-01-24 18:44 3052转载自:http://blog.sina.com.cn/s ... -
concurrent: wai notify notifyAll
2013-01-09 10:16 836转载自:http://sishuok.com ... -
JDK5--Annotation学习:基础(二)
2012-12-04 19:56 1033转载自:http://www.iteye.com/topic/ ... -
JDK5--Annotation学习:基础(一)
2012-12-04 19:29 1101转载连接:http://www.iteye.com/topic ... -
concurrent: ThreadPoolExecutor 用法
2012-09-03 15:19 2997thread pool一般被用来 ... -
concurrent: Callable用法
2012-09-03 14:23 1289转载自: http://auguslee.iteye.com/ ... -
java调度:(六)quarts_cron表达式
2012-07-31 13:59 1258七个域要记住,从左到 ... -
java 附件
2012-07-12 15:47 0转载: java下载附件方法: Java ... -
java内存溢出
2012-05-15 10:57 5915一、问题 ... -
java --HashTable学习
2011-11-21 16:10 1255今天在家无事,闲来看看JDK源码,就从HashTable看起 ...
相关推荐
本文将详细介绍如何使用Java实现文件下载功能,并重点讲解如何解决中文文件名乱码的问题。 #### 一、基本原理与步骤 1. **读取文件**:首先需要将要下载的文件读取到内存中。 2. **设置响应头**:为了正确地告知...
Java在处理包含中文字符的压缩文件时,可能会遇到中文乱码的问题。这主要涉及两个方面:内容的中文乱码和压缩文件注释的中文乱码。以下是对这两个问题的详细解释以及解决方法。 1. 内容的中文乱码问题: 当Java...
Java编程中,编码问题时常出现,例如在处理中文字符时可能出现乱码。为了解决这些问题,Java提供了一个名为`native2ascii`的工具,该工具能够帮助我们将不同编码的文本文件转换成Java能正确识别的Unicode编码。 1. ...
- 在 XMMS 的首选项中,勾选“禁用ID3V2标签”,避免中文乱码问题。 - **选择字体**: - 播放清单: - `-sony-*-*-*-*-*-16-*-*-*-*-*-iso8859-1,-*-*-*-*-*-*-16-*-*-*-*-*-gbk-0` - 主窗口: - `-sony-*-*-*-...
- J2EE(Java 2 Platform, Enterprise Edition)是Sun Microsystems公司发布的一套企业级Java平台标准。 - 它旨在为多层中间件提供一个标准的、基于组件的开发与部署环境,简化了开发复杂分布式系统的任务。 2. *...
`native2ascii` 是Sun Java SDK中的一个实用工具,主要用于将包含非ASCII字符的文本文件(如`.txt`、`.ini`、`.properties`、`.java`等)转换为Unicode编码格式。在软件开发过程中,特别是在处理国际化(i18n)需求...