import java.io.*;
import java.util.zip.*;public class GZIPcompress {
public static void main(String[] args) {
if (args[0] == null) {
System.out.println("The filename doesn't exist");
return;
} try {
BufferedReader in = new BufferedReader(new FileReader(args[0]));
BufferedOutputStream out = new BufferedOutputStream(new
GZIPOutputStream(new FileOutputStream("test.gz")));
System.out.println("Writing file");
int c;
while ((c = in.read()) != -1)
out.write(c);
in.close();
out.close();
System.out.println("Reading file");
BufferedReader in2 = new BufferedReader(new InputStreamReader(new
GZIPInputStream(new FileInputStream("test.gz"))));
String s;
while ((s = in2.readLine()) != null)
System.out.println(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.util.zip.*;public class GZIPcompress {
public static void main(String[] args) {
if (args[0] == null) {
System.out.println("The filename doesn't exist");
return;
} try {
BufferedReader in = new BufferedReader(new FileReader(args[0]));
BufferedOutputStream out = new BufferedOutputStream(new
GZIPOutputStream(new FileOutputStream("test.gz")));
System.out.println("Writing file");
int c;
while ((c = in.read()) != -1)
out.write(c);
in.close();
out.close();
System.out.println("Reading file");
BufferedReader in2 = new BufferedReader(new InputStreamReader(new
GZIPInputStream(new FileInputStream("test.gz"))));
String s;
while ((s = in2.readLine()) != null)
System.out.println(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
解决方案 »
- java高手指点指点
- 请问一个hibernate使用注解的问题
- Hibernate 2 级缓存的疑问
- struts2+json 问题:PoolGuardConnectionWrapper with modifiers "public"
- hibernate+spring..jtds驱动sqlserver2000。。急问
- 想要从事JAVA方向的工作。要从哪里学起呢?
- 怎么将数据库内数据以excel形式返回显示
- java中用到了概率这个东西,不懂,希望有人指点一下
- 有关J2EE 1.4 SDK和J2SE 5.0以及jboss403的问题
- 我是Struts初学者,有些问题不解,望指点!
- Spring+Hibernate+Struts Tiles页面多次定位的问题
- jsp 操纵 word 如何实现
这句放在哪! 我在线等谢谢!
import org.apache.tools.zip.ZipOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* @author tyrone
*
*/
public class DirectoryZip {
/**
*@param inputFileName, file or directory waiting for zipping ,outputFileName output file name
*
*/
public void zip(String inputFileName,String outputFileName) throws Exception {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outputFileName));
zip(out, new File(inputFileName), "");
System.out.println("zip done");
out.close();
}
private void zip(ZipOutputStream out, File f, String base) throws Exception {
if (f.isDirectory()) {
File[] fl = f.listFiles();
if (System.getProperty("os.name").startsWith("Windows")){
out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "\\"));
base = base.length() == 0 ? "" : base + "\\";
}
else{
out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));
base = base.length() == 0 ? "" : base + "/";
}
for (int i = 0; i < fl.length; i++) {
zip(out, fl[i], base + fl[i].getName());
}
}
else {
out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));
FileInputStream in = new FileInputStream(f);
int b;
System.out.println(base);
while ( (b = in.read()) != -1) {
out.write(b);
}
in.close();
}
}
public static void main(String[] args){
DirectoryZip m_zip=new DirectoryZip();
try{
m_zip.zip(args[0],"release\\2005.zip");
}catch(Exception ex){
ex.printStackTrace();
}
}
}
在一般的Ant.jar类库中有这个zip类,import org.apache.tools.zip.*,能够解决不支持中文文件目录的问题,同时,Ant的获得途径也比较多,一般的应用服务器中有这个包,实在不行去下载个tomcat5.X,里面也有ant.jar,
出现这个错误是因为执行路径不正确。
可以这样改:
在程序最前面加上package gzip;
到工程目录下执行,
譬如我的工程目录为:D:\WorkSpace\ProjectName,
则到此目录下,执行java gzip.GZIPcompress input.txt
其中input.txt是工程目录下的一个文件。
大家帮帮忙啊!谢谢各位哥哥了!
自己看JDK的文档吧。
程序提示 这个地方出错 我该怎么办! 好想是包倒不进来! 要是这样我该怎么把这个包倒进来!
个位大哥帮帮忙啊!
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.Adler32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;/**
* @author Jimmy
*/
public class ZipAFile {
public static void zipAFile(File file, File zip) throws IOException {
ZipOutputStream out = new ZipOutputStream(new CheckedOutputStream(new FileOutputStream(zip), new Adler32()));
InputStream in = new FileInputStream(file);
try {
out.putNextEntry(new ZipEntry(file.getName()));
final byte[] buf = new byte[8192];
for (int i = 0; (i = in.read(buf)) != -1;) {
out.write(buf, 0, i);
}
out.flush();
out.closeEntry();
} finally {
if (out!=null) {
out.finish();
out.close();
}
if(in!=null){
in.close();
}
}
} public static void main(String[] args) throws Exception{
zipAFile(new File("c:/BOOTEX.LOG"), new File("c:/BOOTEX.zip"));
}
}
TinyJimmy(jimmy):谢谢给我的程序, 我编译执行了一下过去了,但是压缩后解压时出现了错误:
This archive is either in unknow format or damaged
请问这是什么原因引起的,应该怎么改!