Java代码word压缩 word文档怎么压缩成压缩包

java用apache的ZipEntry压缩文件名为中文的word文件时,文件名乱码

apache自带的zip方法有缺陷,没有做中文的判断的,这个是它的一个已知bug。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的南海网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

解决办法:用jdk的rt.jar里面的方法实现就可以了。

可以参考下以下工具类:

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.Closeable;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Enumeration;

import java.util.zip.ZipEntry;

import java.util.zip.ZipFile;

/**

*

* @author gdb

*/

public class ZipUtilAll {

public static final int DEFAULT_BUFSIZE = 1024 * 16;

/**

* 解压Zip文件

*

* @param srcZipFile

* @param destDir

* @throws IOException

*/

public static void unZip(File srcZipFile, String destDir) throws IOException

{

ZipFile zipFile = new ZipFile(srcZipFile);

unZip(zipFile, destDir);

}

/**

* 解压Zip文件

*

* @param srcZipFile

* @param destDir

* @throws IOException

*/

public static void unZip(String srcZipFile, String destDir) throws IOException

{

ZipFile zipFile = new ZipFile(srcZipFile);

unZip(zipFile, destDir);

}

/**

* 解压Zip文件

*

* @param zipFile

* @param destDir

* @throws IOException

*/

public static void unZip(ZipFile zipFile, String destDir) throws IOException

{

Enumeration? extends ZipEntry entryEnum = zipFile.entries();

ZipEntry entry = null;

while (entryEnum.hasMoreElements()) {

entry = entryEnum.nextElement();

File destFile = new File(destDir + entry.getName());

if (entry.isDirectory()) {

destFile.mkdirs();

}

else {

destFile.getParentFile().mkdirs();

InputStream eis = zipFile.getInputStream(entry);

System.out.println(eis.read());

write(eis, destFile);

}

}

}

/**

* 将输入流中的数据写到指定文件

*

* @param inputStream

* @param destFile

*/

public static void write(InputStream inputStream, File destFile) throws IOException

{

BufferedInputStream bufIs = null;

BufferedOutputStream bufOs = null;

try {

bufIs = new BufferedInputStream(inputStream);

bufOs = new BufferedOutputStream(new FileOutputStream(destFile));

byte[] buf = new byte[DEFAULT_BUFSIZE];

int len = 0;

while ((len = bufIs.read(buf, 0, buf.length)) 0) {

bufOs.write(buf, 0, len);

}

} catch (IOException ex) {

throw ex;

} finally {

close(bufOs, bufIs);

}

}

/**

* 安全关闭多个流

*

* @param streams

*/

public static void close(Closeable... streams)

{

try {

for (Closeable s : streams) {

if (s != null)

s.close();

}

} catch (IOException ioe) {

ioe.printStackTrace(System.err);

}

}

/**

* @param args

* @throws java.lang.Exception

*/

public static void main(String[] args) throws Exception

{

// unZip(new File(ZipDemo.class.getResource("D:/123/HKRT-B2B.zip").toURI()), "D:/123/");

unZip("D:/123/123.zip", "D:/123/");

// new File();

}

}

如何用纯java代码实现word转pdf

几种方案:方法一:用apachepio读取doc文件,然后转成html文件用Jsoup格式化html文件,最后用itext将html文件转成pdf。方法2:使用jdoctopdf来实现,这是一个封装好的包,可以把doc转换成pdf,html,xml等格式,调用很方便地址:安装完后要启动openOffice的服务,具体启动方法请自行google方法4:效果最好的一种方法,但是需要window环境,而且速度是最慢的需要安装msofficeWord以及SaveAsPDFandXPS.exe(word的一个插件,用来把word转化为pdf)Office版本是2007,因为SaveAsPDFandXPS是微软为office2007及以上版本开发的插件SaveAsPDFandXPS下载地址:/zh-cn/download/details.aspx?id=7jacob包下载地址:

java导出word文档怎么将多个word放入一个zip中

只有把word文件生成到服务器,将它们打包,在把这个包下载就是了。

用java做一个word和excel的在线预览功能,跪求代码

前提:本人的系统为Ubuntu13.1064位系统。本篇是我在配置好环境后一段时间写的,所以操作上可能会有也错误,因此仅供参考。 搜索在线显示office和pdf,最常见的方法就是把都转为swf,然后通过FlexPaper显示。这个方法有缺点,FlexPaper不支持所有浏览器(我只能在chrome中使用,firefox要进行设置) 我用的系统是Ubuntu13.1064位 一下所提到的软件,我都会在附件中分享 一、openoffice安装 下载附件中的Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN,解压,安装RPMS里面的所有deb包,然后按炸ungRPMS/desktop-integration里面的openoffice.org3.4-redhat-menus_3.4-9594_all.deb。假如从网上下载下来的openoffice里面全市rmp包的话需要自己通过alien转换成deb(附件中的是我自己转换过的) 安装完成后就可以运行了 soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard网上提示使用soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard的是后台运行 运行以后可以通过netstat-ano|grep8100查看时候运行,上面的命令是在8100运行oppenoffice 网上还说要安装OpenOfficeSDK3.3这个东东,我没有装也可以转换 二、offie转pdf 下载附件中的jodconverter-2.2.2,通过命令 java-jarjodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jarXXX.docxXXX.pdf转换office为pdf 三、安装freetype-2.4.6和jpeg-8c 不安装这两个的话是没有办法编译出swftools中的pdf2swf的 安装方法是进入目录,然后 ./configure make makeinstall四、添加字体 下载附件中的chinese-simplified(里面已经添加了部分字体),解压,放到/usr/local/share/xpdf/中,如果没有xpdf文件夹就新建一个。 五、安装swftools 下载附件中的swftools-2013-04-09-1007,同样 ./configure make makeinstall就可以了,运行 psf2swf如果help提示的话表示安装成功 运行命令 pdf2swf-oXXX.swf-T-z-t-fXXX.pdf-slanguagedir=/usr/local/share/xpdf/chinese-simplified-sflashversion=9可以把pdf转换成swf了。至此完毕 所有附件附件:


分享题目:Java代码word压缩 word文档怎么压缩成压缩包
转载注明:http://scyanting.com/article/hjgeeg.html