下面是网上的代码
http://www.iteye.com/topic/894879
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
public class CompressFileGZIP {
private static void doCompressFile(String inFileName) {
try {
System.out.println("Creating the GZIP output stream.");
String outFileName = inFileName + ".gz";
GZIPOutputStream out = null;
try {
out = new GZIPOutputStream(new FileOutputStream(outFileName));
} catch(FileNotFoundException e) {
System.err.println("Could not create file: " + outFileName);
System.exit(1);
}
System.out.println("Opening the input file.");
FileInputStream in = null;
try {
in = new FileInputStream(inFileName);
} catch (FileNotFoundException e) {
System.err.println("File not found. " + inFileName);
System.exit(1);
}
System.out.println("Transfering bytes from input file to GZIP Format.");
byte[] buf = new byte[1024];
int len;
while((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
System.out.println("Completing the GZIP file");
out.finish();
out.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
}
/**
* Sole entry point to the class and application.
* @param args Array of String arguments.
*/
public static void main(String[] args) {
String str="E:\\AUTORUN.INF";
doCompressFile(str);
}
}
---------------------------------------------------------------------------------------------------------------------------
import java.util.zip.GZIPInputStream;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class UncompressFileGZIP {
/**
* Uncompress the incoming file.
* @param inFileName Name of the file to be uncompressed
*/
private static void doUncompressFile(String inFileName) {
try {
if (!getExtension(inFileName).equalsIgnoreCase("gz")) {
System.err.println("File name must have extension of \".gz\"");
System.exit(1);
}
System.out.println("Opening the compressed file.");
GZIPInputStream in = null;
try {
in = new GZIPInputStream(new FileInputStream(inFileName));
} catch(FileNotFoundException e) {
System.err.println("File not found. " + inFileName);
System.exit(1);
}
System.out.println("Open the output file.");
String outFileName = getFileName(inFileName);
FileOutputStream out = null;
try {
out = new FileOutputStream(outFileName);
} catch (FileNotFoundException e) {
System.err.println("Could not write to file. " + outFileName);
System.exit(1);
}
System.out.println("Transfering bytes from compressed file to the output file.");
byte[] buf = new byte[1024];
int len;
while((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
System.out.println("Closing the file and stream");
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(1);
}
}
/**
* Used to extract and return the extension of a given file.
* @param f Incoming file to get the extension of
* @return <code>String</code> representing the extension of the incoming
* file.
*/
public static String getExtension(String f) {
String ext = "";
int i = f.lastIndexOf('.');
if (i > 0 && i < f.length() - 1) {
ext = f.substring(i+1);
}
return ext;
}
/**
* Used to extract the filename without its extension.
* @param f Incoming file to get the filename
* @return <code>String</code> representing the filename without its
* extension.
*/
public static String getFileName(String f) {
String fname = "";
int i = f.lastIndexOf('.');
if (i > 0 && i < f.length() - 1) {
fname = f.substring(0,i);
}
return fname;
}
/**
* Sole entry point to the class and application.
* @param args Array of String arguments.
*/
public static void main(String[] args) {
doUncompressFile("E:\\AUTORUN.INF.gz");
}
}
分享到:
相关推荐
Java在Linux环境下对GZ压缩文件的处理是一个常见的任务,特别是在处理大文件或者网络传输时。GZ是一种常用的文件压缩格式,它利用了gzip程序进行压缩,而在Java中,我们可以使用`java.util.zip`包中的类来实现对GZ...
本文将详细介绍如何使用 Java 在 Linux 系统上解压 `.gz` 格式的压缩文件,并探讨多种解压方法。 #### 基本解压方法 首先,我们来看一个基本的例子,该例子展示了如何使用 `GZIPInputStream` 类来读取并解压 `.gz`...
在IT行业中,尤其是在Java编程领域,压缩和解压缩文件是一项常见的任务。本篇文章将深入探讨如何使用Java在Linux环境下处理GZ(GNU Zip)格式的压缩文件。GZ是一种广泛用于Linux和Unix系统的文件压缩格式,它基于...
在IT行业中,压缩文件是常见的数据传输和存储方式,尤其是以.gz格式的压缩文件,它在Linux和Unix系统中广泛使用。`.gz`是GNU Zip的缩写,是一种高效的文件压缩格式,通常用于单个文件的压缩。在处理.gz文件时,我们...
接下来,"ORACLE JDK1.7 linux x64.zip"是另一个ZIP压缩文件,它是Windows常用的压缩格式,但在Linux下也可以通过`unzip`命令解压: ```bash unzip ORACLE JDK1.7 linux x64.zip ``` 尽管描述中同时提到了这两个...
这个文件采用tar.gz格式进行压缩,这是一种在Linux和Unix系统中常见的归档和压缩方法。 Eclipse IDE是一款开源的集成开发环境(Integrated Development Environment),主要用于编写Java应用程序。它以其强大的代码...
描述中提到“7z文件包需要解压哦:jdk-8u401-linux-x64.tar.gz”,这提示我们需要先用7-Zip软件或者在Linux终端下使用7z命令来解压这个7z文件。解压后会得到一个名为“jdk-8u401-linux-x64.tar.gz”的tarball(tar...
总的来说,这个“eclipse-java-2020-06-R-linux-gtk-x86_64.tar.gz”压缩包提供了一个强大的Java开发环境,适用于64位Linux系统,尤其是Ubuntu,用户可以在虚拟机内体验这一专业级的开发工具。通过解压和配置,...
标题中的“eclipse-java-linux-gtk-x86_64.tar.gz”指示这是一个为Linux操作系统设计的64位版本Eclipse集成开发环境(IDE),基于GTK+图形库。Eclipse是一款广泛使用的开源软件,主要用于Java编程,但也支持其他语言...
本文将详细介绍如何在Linux环境下安装Java 8版本,具体以标题和描述中的"linux下java安装包"和标签"java8"为线索。 首先,Java 8是Oracle公司发布的Java平台标准版(Java SE)的一个重要版本,它引入了多项新特性,...
这个版本在Java SE(标准版)的框架下提供了开发和运行Java应用程序所需的全套工具。JDK(Java Development Kit)是Java程序员的核心工具,包含了JRE(Java Runtime Environment),编译器,调试器,以及其他用于...
这个压缩包文件是一个归档文件,用于在Linux环境下部署Java开发环境。JDK是Java编程语言的核心组件,包含了编译器、调试器、文档生成工具以及其他开发工具,使得开发者可以在本地环境中编写、测试和运行Java程序。 ...
在这个分享中,提供了适用于Linux环境下的Java 1.8安装包,覆盖了x86、x64和arm三种不同的处理器架构,同时提供了两种安装格式:RPM(Red Hat Package Manager)格式和tar.gz压缩格式。这些文件的详细信息如下: 1....
这个压缩包采用的是tar.gz格式,是Linux系统中常用的归档和压缩工具组合,它首先使用tar进行文件打包,然后用gzip进行压缩,以节省存储空间。 描述中提到的“适用于Linux x86_64”,意味着这个Eclipse版本是为64位...
标题中的“eclipse-java-2019-09-R-linux-gtk-x86_64.tar.gz”指的是Eclipse IDE的一个特定版本,用于Java开发,并且是为Linux操作系统(GTK+...解压并安装后,Java开发者可以在Linux环境下使用Eclipse进行高效开发。
这个`mysql-connector-java-5.1.36.tar.gz`文件是一个针对Linux操作系统的压缩包,包含了运行在Linux环境下的MySQL Connector/J的具体版本5.1.36。 MySQL Connector/J遵循JDBC(Java Database Connectivity)标准,...
通常,你可以从Oracle官方网站下载,但在此情况下,你已经拥有一个名为"linux环境java8安装包jdk-8u212-linux-x64"的压缩文件。 安装步骤如下: 1. **解压文件**:首先,将压缩包解压到你的系统上,通常是在 `/opt...
在Linux系统中安装Java 8版本是一个常见的任务,对于开发者来说尤其重要,因为Java是许多后端服务和应用程序的基础。本篇文章将详细讲解如何在Linux环境下安装Java Development Kit(JDK)8,以满足开发和运行Java...
描述中的“eclipse-java-2022-06-R-linux-gtk-x86_64.tar.gz 适用于Linux x86_64”进一步确认了这个软件包是为64位Linux系统准备的。".tar.gz"文件格式是一种常见的Linux归档文件,它使用tar命令将多个文件和目录...
总结起来,这个项目提供了Java环境下的压缩和解压缩功能,包括ZIP、RAR(带密码)和GZ格式,以及FTP文件传输的实用工具类。开发者可以轻松地集成这些功能到他们的项目中,提高文件处理的便捷性。