最近正在做一个用JAVA实现文件压缩的程序,但是关于建立树的过程还不是很明白,希望有原代码可以参考
用ARRAY或者LINK LIST实现的都可以
參考答案:我使用两种方法从zip文件中读取数据,第一种的代码是从“UTF开始”到“UTF结束”,看到有人()介绍过这种用法,但是我用的时候,出现java.io.UTFDateFormatException异常,我跟踪调试的时候,发现问题出现在读取的时候,写是可以的。
第二种的代码是从“int开始”到“int结束”,可以正确解压缩各种文件(二进制读取,应该也没问题的),但是速度很慢,请问各位大虾,有没有什么办法解决?
代码如下:
……
String doc="";
zin = new ZipInputStream(new FileInputStream(待解压缩文件));
while(((entry = zin.getNextEntry()) != null)&&!entry.isDirectory())
{
FileOutputStream fout =
new FileOutputStream(解压缩后的文件名);
DataOutputStream dout = new DataOutputStream(fout);
DataInputStream in = new DataInputStream(zin);
/*
//UTF开始
doc=in.readUTF();
in.close();
dout.writeUTF(doc);
dout.close();
//UTF结束
*/
//int开始
int c;
while((c = in.read()) != -1)
dout.write(c);
dout.close();
//int结束
fout.close();
zin.closeEntry();
System.out.println("Close entry successful!");
}
zin.close();
……