其实无非就是将你指定的文件地址根据递归的方式,一个个压缩啊。
out.putNextEntry(new ZipEntry(XXX)); 这里就是传入你要压缩的内容,
例如:如果是文件夹,则out.putNextEntry(new ZipEntry(文件夹名+"/"));
如果是文件夹中内容,则:out.putNextEntry(new ZipEntry(文件夹名+"/"+文件夹名));
立即学习“Java免费学习笔记(深入)”;
其实你上面的程序还有点问题,并不能达到你预期的要,我帮你修改下吧:
for循环中应该修改为这个:
for (int i = 0; i
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("d:\test.zip"));
String test1="test1";
String test2="test2";
byte[] bytes1 = test1.getBytes("UTF-8");
byte[] bytes2 = test2.getBytes("UTF-8");
ZipEntry z1 = new ZipEntry("test1.txt");
zos.putNextEntry(z1);
zos.write(bytes1);
ZipEntry z2 = new ZipEntry("text2.txt");
zos.putNextEntry(z2);
zos.write(bytes2);
zos.closeEntry();
zos.close();
//流可以自己获取
//java默认的包不支持中文(乱码)
//使用apache的ZipOutputStream进行zip压缩
是否可以解决您的问题?
以上就是一个用JAVA编写的文件压缩程序的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号