导航:首页 > 编程语言 > javazipfile

javazipfile

发布时间:2024-12-15 04:07:17

❶ 如何用java读取zip文件名和zip内文件的文件名,在线等

下面这个DEMO支持ZIP里的*.txt,但不支持ZIP里的子目录里的*.txt
你可以陵滚自己加一个遍历去取子目录里卜汪正所需的内容即可
请用org.apache.tools.zip下的包,不要用java.util.zip下的包,因为中文支持型悔不好
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
public class TestZip {
public static void printZipTxt(String zipPath) throws IOException{
ZipFile zipFile=new ZipFile(zipPath);
for (Enumeration<? extends ZipEntry> e = zipFile.getEntries(); e.hasMoreElements();){
ZipEntry entry=e.nextElement();
System.out.println("文件名:"+entry.getName()+", 内容如下:");
if(entry.getName().toLowerCase().endsWith(".txt")){
InputStream is=null;
is= zipFile.getInputStream(entry);
byte[] b=new byte[1024];
int leng=-1;
String txtStr="";
while (( leng=is.read(b)) !=-1){
txtStr+=new String(b, 0, leng);
}
System.out.println(txtStr);
if(is!=null){
is.close();
}
}
}
}
public static void main(String[] args) {
try {
printZipTxt("c:\\test.zip");
} catch (IOException e) {
// TODO Auto-generated c

❷ java解压zip或者tar.gz压缩包,如何获得被压缩文件的

使用Java处理ZIP和TGZ压缩包涉及ZipInputStream、ZipOutputStream和ZipFile类。当项目需要上传或下载ZIP包时,开发者通常会利用这些类进行操作。
在基础概念层面,压缩文件的生成涉及读取一个文件夹内容,创建ZipEntry并将其放入ZipOutputStream。然后,通过InputStream读取源文件内容,将其写入ZipOutputStream。这种流程形成了压缩文件的创建。
解压过程涉及一个特殊的File类,称为ZipFile。使用Enumeration类可以读取压缩文件夹中的文件。解压文件的过程开始于读取压缩文件夹中的文件,生成InputStream后将其写入解压输出流。此操作实现了文件的解压缩。
总结来说,本文介绍了Java中压缩文件的压缩与解压方式,提供了相关类的使用方法。希望对读者在项目开发中处理文件压缩与解压问题有所帮助。如果本文对您有帮助,请给予支持。

❸ java怎么读取Zip和RAR里面的文件啊

ZipInputStream是一个指向ZIP文件的流,这个流最重要的方法就是getNextEntry方法,一个zip文件可以包含好几个被压缩的文件,这个方法的功能就是返回下一个目录项,也就是返回zip文件中的下一项,并且把流指向这个目录文件项。getNextEntry的返回值是ZipEntry,它表示zip文件中的一个项,它可以返回这个文件项的大小、名称等。你可以根据它返回的文件大小调用ZipInputStream的read方法来读取需要的字节。给你一个例子:public class ZipTest {
public static void main(String args[]) throws FileNotFoundException, IOException{
ZipInputStream zis = new ZipInputStream(new FileInputStream ("c://a.zip"));//生成读取ZIP文件的流
ZipEntry ze = zis.getNextEntry();//取得下一个文件项
long size = ze.getSize();//取得这一项的大小
FileOutputStream fos = new FileOutputStream("c://"+ze.getName());//产生输出文件对象
for(int i= 0;i<size;i++){//循环读取文件并写入输出文件对象
byte c = (byte)zis.read();
fos.write(c);
}
fos.close();
zis.close();
}
}

❹ 如何解决java程序解压含有中文名的zip压缩包出现乱码

上次利用java自动的java.util.zip.ZipEntry和�0�2java.util.zip.ZipFile来解压zip文件,今天发现程序在读取解压文件时居然报了空指针异常,debug程序后发现时读取不到文件,产生原先是zip压缩文件中含有中文的名称,读取文件名为乱码,
报找不到文件名,所以报了空指针,想到ant构建文件也有这个功能,换了apache的ant.jar居然解决了中文的问题。
备份下。
�0�2import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Enumeration;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;/*** 读取zip压缩文件中文本的内容
* @author fish*/public class ReadZip {
public static void main(String args[]) {try {String fileName = "D:/workspace/java/src/ReadZip.zip";
//构造ZipFile
ZipFile zf = new ZipFile(new File(fileName));
//返回 ZIP file entries的枚举.
Enumeration<? extends ZipEntry entries = zf.getEntries();
while (entries.hasMoreElements()) {
ZipEntry ze = entries.nextElement();
System.out.println("name:"+ze.getName());
long size = ze.getSize();
if (size 0) {
System.out.println("Length is " + size);
BufferedReader br = new BufferedReader(
new InputStreamReader(zf.getInputStream(ze)));
String line;
while ((line = br.readLine()) != null) {

❺ java如何解压.gz后缀的压缩包

  1. File file = new File(zipFilePath); 将zip文件路径转换 成文件

  2. zipFile = new ZipFile(file); 调用java util下面的zipfile类

  3. Enumeration<?> zipEnum = zipFile.entries(); 将zip文件里面的内容都放在迭代器里面了

  4. ZipEntry entry = (ZipEntry) zipEnum.nextElement();,然后迭代出ZipEntry对象。

  5. zipFile.getInputStream(entry)就可以得到所需要的流了,之后做你需要的操作。

❻ java中读取压缩包中的文件怎么不用通过解压

你好,我不知道你说的dzp是什么格式文件,但如果是zip的压缩文件,可以看下我的这段代码

ZipFile file = new ZipFile("d:\\1.zip");
ZipEntry entry = file.getEntry("1.xml"); //假如压缩包里的文件名是1.xml
InputStream in=file.getInputStream(entry);
最后就是按照java中一贯的流的处理方式即可

❼ 如何用java读取zip文件名和zip内文件的文件名,在线等

public static void te(File f) throws IOException {
if (!f.exists() || !f.isDirectory()) {
return;
}
File[] subFiles = f.listFiles();
ZipFile zipFile = null;
for (int i = 0, ii = subFiles == null ? 0 : subFiles.length; i < ii; i++) {
if (subFiles[i].isFile()) {
try {
zipFile = new ZipFile(subFiles[i]);
Enumeration entries = zipFile.entries();
System.out.println("压缩文件:" + subFiles[i].getAbsolutePath());
while(entries.hasMoreElements())
{
System.out.println(" entry:" + ((ZipEntry)entries.nextElement()).getName());
}
zipFile.close();
} catch (ZipException e) {
//System.out.println(e.getMessage());
}
}
}
}

阅读全文

与javazipfile相关的资料

热点内容
php怎么做成word 浏览:688
python批量生成密钥 浏览:490
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:813
android银行卡识别 浏览:751
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:784
macd实战选股公式源码 浏览:644
加密芯片的计算方法 浏览:187
手机存储为什么找不到微信文件夹 浏览:697
msf端口迁移命令 浏览:880
工商app积分怎么查询 浏览:145
铁路app怎么买火车票 浏览:311
移魅族除的app怎么添加 浏览:240
兔笼子大号加密 浏览:171
单片机程序烧录操作成功 浏览:878
指标高抛低吸点位源码 浏览:205
25匹压缩机铜管 浏览:570
单片机单灯左移05 浏览:150