在java中使用GZIP格式压缩和解压缩文件

爪哇。util。zip包提供了压缩和解压缩文件内容的类。Java中提供了FileInputStream、FileOutputStream和GZIPOutputStream类来压缩和解压缩文件。

null

使用GZIPOutputStream压缩文件

程序中使用的方法

  1. read(): 读取一个字节的数据。存在于FileInputStream中。
    int read()
  2. write(): 写入FileOutputStream中的一字节数据。
    void write(int b) 

在这个例子中,我们有一个文本文件 /home/saket/Desktop/geeksforgeks/compress。JAVA 在“Geeksforgeks”文件夹下,我们正在压缩并生成同一文件夹中的GZip文件。 图片[1]-在java中使用GZIP格式压缩和解压缩文件-yiteyi-C++库

// Java program to compress a File
// using GZIPOutputStream class
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
public class GeeksForGeeks
{
static final String OUTPUT_FILE
= "/home/saket/Desktop/GeeksforGeeks/compress.gz" ;
static final String INPUT_FILE
= "/home/saket/Desktop//GeeksforGeeks/compress.java" ;
static void compress()
{
byte [] buffer = new byte [ 1024 ];
try
{
GZIPOutputStream os =
new GZIPOutputStream( new FileOutputStream(OUTPUT_FILE));
FileInputStream in =
new FileInputStream(INPUT_FILE);
int totalSize;
while ((totalSize = in.read(buffer)) > 0 )
{
os.write(buffer, 0 , totalSize);
}
in.close();
os.finish();
os.close();
System.out.println( "File Successfully compressed" );
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void main (String[] args)
{
compress();
}
}


输出:

File Successfully compressed

运行上述程序后,它将压缩压缩。java文件: 图片[2]-在java中使用GZIP格式压缩和解压缩文件-yiteyi-C++库

使用GZIPOutputStream解压文件

// Java program to illustrate
// Decompressing a File using GZIPOutputStream
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPInputStream;
class GeeksForGeeks
{
static final String INPUT_FILE
= "/home/saket/Desktop/GeeksforGeeks/compress.gz" ;
static final String OUTPUT_FILE
= "/home/saket/Desktop//GeeksforGeeks/decompress.java" ;
static void decompress()
{
byte [] buffer = new byte [ 1024 ];
try
{
GZIPInputStream is =
new GZIPInputStream( new FileInputStream(INPUT_FILE));
FileOutputStream out =
new FileOutputStream(OUTPUT_FILE);
int totalSize;
while ((totalSize = is.read(buffer)) > 0 )
{
out.write(buffer, 0 , totalSize);
}
out.close();
is.close();
System.out.println( "File Successfully decompressed" );
}
catch (IOException e)
{
e.printStackTrace();
}
}
public static void main (String[] args)
{
decompress();
}
}


输出:

File Successfully decompressed

编译后的当前状态:

图片[3]-在java中使用GZIP格式压缩和解压缩文件-yiteyi-C++库

注: 这是装饰。java包含上述代码。 运行上述程序后,它将解压缩压缩。gz和一个名为 减压。JAVA 将被创建。 图片[4]-在java中使用GZIP格式压缩和解压缩文件-yiteyi-C++库

本文由 萨凯特·库马尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享