import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class FileCompress
{
// 压缩
public static void gz(String fromFilePath, String toFilePath) throws IOException
{
//读取文件
InputStream fileIn = new FileInputStream(fromFilePath);
byte[] b = new byte[fileIn.available()];
fileIn.read(b);
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
//将文件内容压缩写入ByteArrayOutputStream
gzip.write(b);
gzip.close();
//将压缩内容写入新文件
byte[] ob = out.toByteArray();
OutputStream fileOut = new FileOutputStream(toFilePath);
fileOut.write(ob);
fileOut.flush();
fileOut.close();
}
// 解压缩
public static void ungz(String fromFilePath, String toFilePath) throws IOException
{
//读取文件
InputStream fileIn = new FileInputStream(fromFilePath);
byte[] b = new byte[fileIn.available()];
fileIn.read(b);
//准备写入解压文件中
OutputStream fileOut = new FileOutputStream(toFilePath);
//将读取文件解压
ByteArrayInputStream in = new ByteArrayInputStream(b);
GZIPInputStream gunzip = new GZIPInputStream(in);
byte[] buffer = new byte[256];
//将压缩内容写入新文件
int n;
while ((n = gunzip.read(buffer)) >= 0)
{
fileOut.write(buffer, 0, n);
}
in.close();
gunzip.close();
fileOut.flush();
fileOut.close();
}
public static void main(String[] args) throws IOException
{
String fromFile = "c:/1.xml";
String toFile = "c:/1.gz";
gz(fromFile, toFile);
//ungz(toFile, fromFile);
}
}
分享到:
相关推荐
1初始化(创建)压缩文件 2添加指定文件到压缩文件 3添加指定文件夹(含子路径)到压缩文件 4重新初始化(打开)压缩文件 5从压缩文件解压文件 6释放(关闭)压缩文件 源码包含了封装的功能模块类以及测试类, 全部...
VB6.0压缩文件、解压文件、合并文件源码实例,这个小工具的用处在于:你可以把图片文件和压缩文件合并起来,传到网上相册中,既保存了图片,同时也把你的文件(可以合并个人隐私文件哦!)传了上去。打开这个文件时...
-m0 存储 添加到压缩文件时不压缩文件。 -m1 最快 使用最快方式(低压缩) -m2 较快 使用快速压缩方式 -m3 标准 使用标准(默认)压缩方式 -m4 较好 使用较好压缩方式(较好压缩,但是慢) -m5 最好 使用最大压缩方式(最好...
压缩文件方法 该方法需要引用zip4j的jar文件 单个文件、多个文件压缩 /** * 使用给定密码压缩指定文件或文件夹到指定位置. * * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者""....
使用方法是把图片放在第一位,压缩文件放在第二位 点击合成,输出的文件用图片的拓展名,比如jpg就是图片 改为rar.即合并的压缩文件的拓展名,文件即为压缩文件 本软件为java编写,没有打包jre所以需要自行安装jre. 安装...
本人整理及修改的.net压缩文件或压缩文件夹源码 包里有源码、帮助类、操作文档、相关DLL及DLL引用说明文档 对压缩程序有任何疑问请随时私信我
批处理压缩文件的 bat文件,https://blog.csdn.net/weixin_43960383/article/details/124261084 详细可参考我的这篇文章;
批处理批量压缩当前文件夹下所有指定后缀名文件,批处理批量压缩指定类型文件为每个单独压缩包。 使用前解压本压缩包 本压缩包内容由WinRaR.exe文件与bat文件组成,使用时需要将所需打包的同类型文件放置到WinRaR....
VC++ MFC 如何用 CZip CUnzip类压缩解压缩文件 包括源代码和Example文件,还有说明文件~
在右键增加操作菜单 把每个文件放到单独的压缩文件中
很强大的软件 暴力破解压缩文件密码 可以破解出来
压缩与解压缩文件 C++ 压缩与解压缩文件 C++ vc6
net打包文件 net 压缩文件 使用net内置方法压缩文件
批量压缩文件脚本 方便批量压缩文件,请自行修改脚本里的路径,其实我是混分的,这个脚本适合我一样的小白用
WIN ZIP 压缩文件 的破解
RAR压缩文件密码破解 RAR压缩文件密码破解
遍历指定文件夹及其子文件夹下的所有压缩文件,批量用7z软件解压,并实时显示解压进度。
JAVA压缩文件代码 HUFFMAN函数的压缩代码
便压(BianYa)是强大的压缩文件管理器,它提供了ZIP和7Z文件的完整支持,能解压RAR、 ZIP、7Z、ACE、ARJ、BZ2、CAB、GZ、ISO、JAR、LAH、TAR、Z、UUE、格式文件。 独特的压缩和加密算法, 对常用的文本、音乐、图像...
易语言解压目录中的所有压缩文件源码.7z