
最后怎么解决的,我现在也遇到这个问题了,单个文件可以解压可以压缩,写入的测试内容也在,换成文件夹就不行了。能找到的案例全都是解压成文件,但是本身是个文件夹的GZ包解压了以后也打不开。
上次利用java自动的javautilzipZipEntry和�0�2javautilzipZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现时读取不到文件,产生原先是zip压缩文件中含有中文的名称,读取文件名为乱码,
报找不到文件名,所以报了空指针,想到ant构建文件也有这个功能,换了apache的antjar居然解决了中文的问题。
备份下。
�0�2import javaioBufferedReader;
import javaioFile;
import javaioIOException;
import javaioInputStreamReader;
import javautilEnumeration;
import orgapachetoolszipZipEntry;
import orgapachetoolszipZipFile;/ 读取zip压缩文件中文本的内容
@author fish/public class ReadZip {
public static void main(String args[]) {try {String fileName = "D:/workspace/java/src/ReadZipzip";
//构造ZipFile
ZipFile zf = new ZipFile(new File(fileName));
//返回 ZIP file entries的枚举
Enumeration< extends ZipEntry entries = zfgetEntries();
while (entrieshasMoreElements()) {
ZipEntry ze = entriesnextElement();
Systemoutprintln("name:"+zegetName());
long size = zegetSize();
if (size 0) {
Systemoutprintln("Length is " + size);
BufferedReader br = new BufferedReader(
new InputStreamReader(zfgetInputStream(ze)));
String line;
while ((line = brreadLine()) != null) {
你这个问题有点怪,首先你要在服务器解压缩的话,你有服务器的Java程序执行权限吗?如果有的话可以考虑,在服务器做Java对Ftp文件夹的文件监控,发现压缩包自动调用解压缩代码解压,如果没有服务器执行权限,那你就不用考虑这个问题了
Java代码
import javaioFile;
import javaioFileInputStream;
import javaioFileOutputStream;
import javautilzipZipEntry;
import javautilzipZipInputStream;
import javautilzipZipOutputStream;
class ZipTest {
// 压缩
public static void zip(String zipFileName, String inputFile)
throws Exception {
File f = new File(inputFile);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipFileName));
zip(out, f, fgetName());
Systemoutprintln("zip done");
outclose();
以上就是关于java里怎么解压tar.gz文件啊,网上好多例子都不行全部的内容,包括:java里怎么解压tar.gz文件啊,网上好多例子都不行、如何解决java程序解压含有中文名的zip压缩包出现乱码、用java实现ftp侧压缩文件的解压等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)