`
lei_1021
  • 浏览: 41437 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于zip,tar压缩

    博客分类:
  • j2me
阅读更多
  最近有个项目需要用压缩算法,懒得自己写算法了,直接就用了java自带的类库
zip的压缩如下
public void saveFileZip(String srcname,String destname)
	{ 
		try {
			BufferedInputStream origin = null;
			FileOutputStream dest = new FileOutputStream("E:\\test\\myfiles.zip");
			ZipOutputStream out = new ZipOutputStream(dest);
			byte data[] = new byte[BUFFER];
			File f = new File("e:\\test\\a\\");
			File files[] = f.listFiles();
			for (int i = 0; i < files.length; i++) {
			FileInputStream fi = new FileInputStream(files[i]);
			origin = new BufferedInputStream(fi, BUFFER);
			ZipEntry entry = new ZipEntry(files[i].getName());
			System.out.println(entry.getName());
			out.putNextEntry(entry);
			int count;
			while ((count = origin.read(data, 0, BUFFER)) != -1) {
			out.write(data, 0, count);
			}
			origin.close();
			}
			out.close();
			} catch (Exception e) {
			e.printStackTrace();
			}

	}

  由于zip是无损压缩,所以压缩的效率不是很高,需要高效的可以尝试下其他的压缩算法,如果是跟c连调的话建议还是自己写,因为同一种压缩格式在c跟java中有些地方是不一样的,不能通用。
  还有一种压缩方式tar的
public void saveFileTar() throws Exception
	{
		File desFile = new File("E:\\test","test.tar"); //.tar or .tar.gz
		File srcFile2 = new File("e:\\test\\a\\Mercury+LoadRunner教程8.1版.pdf");
    
		FileOutputStream fileoutPutStream = new FileOutputStream(desFile);
      /*
                     要壓.tar.gz在加一層GZIPOutputStream,TarArchive的constructor要改用GZIPOutputStream
     */
      // GZIPOutputStream gzOutput = new GZIPOutputStream(fileoutPutStream);

		TarEntry tarEntry = new TarEntry(srcFile2); 
		TarArchive desTarFile = new TarArchive(fileoutPutStream);        
		desTarFile.writeEntry(tarEntry,true);
		desTarFile.closeArchive();
	}
分享到:
评论

相关推荐

    linux下tar和zip压缩效率

    ### Linux下tar与zip压缩工具效率对比分析 #### 背景介绍 在Linux操作系统中,数据管理和存储是一项重要的任务。随着系统使用的深入,文件...以上就是关于“Linux下tar和zip压缩效率”的详细分析。希望对您有所帮助!

    php zip gzip tar..压缩解压缩类

    这个资源包包含了处理zip、gzip和tar等压缩格式的类,提供了方便的方法来完成这些工作。以下是对这些知识点的详细说明: 1. **PHP**:PHP(PHP:Hypertext Preprocessor)是一种开源的服务器端脚本语言,广泛用于...

    windows下tar打包软件_TAR压缩解压

    在Windows操作系统中,通常我们使用的压缩和解压缩工具是如WinRAR或7-Zip这样的软件,但有时我们可能需要处理Linux环境下产生的`.tar`格式文件。`.tar`文件是一种非常常见的档案格式,它主要用于组合多个文件和目录...

    ant操作7zip压缩、解压 tar.gz

    7-Zip是一款免费且功能强大的压缩工具,支持多种压缩格式,包括7z、ZIP、GZIP、BZIP2、TAR、XZ等。而tar.gz是Unix/Linux系统中常用的一种归档压缩格式,它结合了tar的归档功能和gzip的压缩功能。在本例中,我们关注...

    7-zip右键扩展tar.gz

    7-Zip的右键扩展工具则为用户提供了便捷的方式,通过Windows资源管理器的右键菜单直接创建tar.gz文件,避免了先手动创建tar文件,再进行GZIP压缩的繁琐步骤。这个扩展通常是一个注册表脚本或者第三方插件,它可以...

    Linux下创建与解压zip, tar, tar.gz和tar.bz2

    本文将详细介绍如何在 Linux 系统中使用 `zip`, `tar`, `tar.gz` 和 `tar.bz2` 这四种不同的压缩格式。 #### 1. Zip 格式 **Zip** 是一种广泛使用的压缩格式,在 Windows、Linux 和 macOS 等不同操作系统上都得到...

    tar压缩解压

    ### tar压缩解压详解 #### 一、tar命令概述 `tar`命令是Linux系统中极为重要的文件打包工具,广泛应用于文件的备份与传输。它能够将多个文件合并成一个文件,即通常所说的“打包”。此外,`tar`命令还可以与其它...

    zip文件夹压缩文件夹压缩

    ZIP与RAR、TAR、GZIP等其他压缩格式相比,兼容性更佳,但压缩率可能较低。RAR提供了更好的压缩率,但不是所有平台都支持。 8. **ZIP在开发中的应用** 开发者经常使用ZIP格式进行源代码、资源文件或构建输出的打包...

    java 压缩/解压 .zip/.rar/.tar 文件

    本文将详细讲解如何使用Java API来压缩和解压缩`.zip`、`.rar`和`.tar`这三种常见的文件格式。 首先,对于`.zip`文件的处理,我们可以使用Apache的`commons-compress`库中的`ZipFile`和`ZipOutputStream`类。在提供...

    php zipArchive-压缩类 支持ZIP,TAR,GZIP

    这个类提供了创建、读取、修改以及提取ZIP文件的能力,同时也支持其他压缩格式如TAR和GZIP。在本文中,我们将深入探讨`ZipArchive` 类的主要功能和用法,以便更好地理解和应用在实际项目中。 ### 1. 创建ZIP文件 ...

    7-Zip批量压缩

    7-Zip是一款强大的开源压缩软件,它支持多种压缩格式,如7z、ZIP、GZIP、BZIP2、TAR等,并且具有高压缩比的特点。在日常工作中,如果我们需要将大量的文件分别压缩成单独的压缩文件,7-Zip提供了方便的批量处理功能...

    号称现最高解压缩比的压缩软件7-zip

    支持多种文件格式,包括但不限于 7z、ZIP、GZIP、BZIP2 和 TAR 等,同时也能打开 RAR、CAB、ISO、ARJ、LZH、CHM、Z、CPIO、BZR、TBZ2、TB2、TXZ、TAZ、TLZ、TZ、7Z、XZ、Ear、WAR、JAR 等多种常见的压缩格式,几乎...

    QT5 zip压缩和解压源代码

    QT5不仅支持ZIP格式,还可以处理其他压缩格式如TAR、GZIP等,只需更换相应的读写器类即可。 10. **最佳实践** 为了保持代码的可维护性和灵活性,建议封装压缩和解压缩功能为独立的函数或类,以便在不同项目中复用...

    java解压和压缩tar包

    在Java中,处理tar文件通常需要使用`java.util.zip`和`java.io`这两个包,但这些基础类库并不直接支持tar格式,因此我们需要第三方库如`javatar`。`TarUtil.java`是`javatar`库中的核心类,它包含了创建和读取tar...

    7_z ZIP软件 ZIP压缩软件

    7-zip支持包括ZIP、GZIP、BZIP2、TAR等多种压缩格式,但其最具特色的是自有的7z格式。7z格式采用LZMA(Lempel-Ziv-Markov chain algorithm)压缩算法,压缩比率高,尤其对文本文件和程序代码的压缩效果显著。7-zip...

    libarchive库API编程tar.gz和7zip格式压缩demo

    内容概要:这是一个使用libarchive库接口压缩文件的C语言...能学到什么:快速了解libarchive库的API接口使用例程,学会tar.gz和7zip格式压缩的基本方式。 阅读建议:压缩包中有readme.txt文件,帮助读者快速了解demo。

    zip的压缩与解压缩

    - ZIP与tar:tar格式主要用于归档,不包含压缩,但常与gzip或bzip2结合使用(如tar.gz或tar.bz2),提供归档和压缩功能。与ZIP不同,tar文件通常用于Unix/Linux环境。 4. **标签中的"zip"**: 在这里,"zip"标签...

    7zip极限压缩

    这款工具支持多种压缩和解压缩格式,包括但不限于7z、ZIP、GZIP、BZIP2、TAR以及各种常见的二进制文件格式。 1. **7z格式与压缩比率**: - 7z是7-Zip的专有格式,它采用了LZMA(Lempel-Ziv-Markov chain Algorithm...

    linux tar压缩文件 解压命令

    本文将深入探讨Linux下不同格式的tar压缩文件及其对应的解压命令,帮助用户更高效地管理文件。 ### 1. *.tar 文件解压 tar是一种常见的用于打包文件的工具,在Linux中广泛使用。当文件被压缩成.tar格式时,可以...

    Keka-1.1.26.dmg keka: 1.1.26 可以创建以下格式的压缩文件:7Z ZIP TAR GZIP BZIP2 XZ LZIP DMG ISO

    7Z ZIP TAR GZIP BZIP2 XZ LZIP DMG ISO 并支持解压这些格式: 7Z ZIP ZIPX RAR TAR GZIP BZIP2 XZ LZIP DMG ISO LZMA EXE CAB WIM PAX JAR WAR IPA APK APPX XPI CPGZ 便捷且强大 您在使用时甚至无需打开 ...

Global site tag (gtag.js) - Google Analytics