我有一个压缩文件。该文件还包含各种目录和文件。我想提取所有这些并保存在指定的路径中。
那么如何编写java程序来提取压缩文件。
由于 Sunil Kumar Sahoo
答案 0 :(得分:3)
您应该考虑使用java.util.zip
package。 Sun提供了有关如何使用它的教程:Compressing and Decompressing Data Using Java APIs。
答案 1 :(得分:1)
java.util.zip。*执行必需的操作。 浏览参考API。如果您正在寻找示例LookThis
答案 2 :(得分:1)
public static void unzip(){
try{
BufferedOutputStream out = null;
ZipInputStream in = new ZipInputStream(ZipFileExtracter.class.getClassLoader().getResourceAsStream("com/artificialmachines/chitme/stamps/ChitMeData.zip"));
ZipEntry entry;
boolean isDirectory=false;
while((entry = in.getNextEntry()) != null){
int count;
byte data[] = new byte[BUFFER];
// write the files to the disk
String entryName = entry.getName();
File newFile = new File(new StringBuffer().append(System.getProperty("user.dir")).append(File.separator).append(entryName).toString());
if(entryName.endsWith("/")){
isDirectory=true;
newFile.mkdir();
//System.out.println("This is directory "+newFile.exists()+" IS DIr "+newFile.isDirectory()+" path "+newFile.getPath());
}else{
newFile.createNewFile();
}
if(!isDirectory){
out = new BufferedOutputStream(new FileOutputStream(newFile),BUFFER);
while ((count = in.read(data,0,BUFFER)) != -1){
out.write(data,0,count);
}
cleanUp(out);
}
isDirectory=false;
}
cleanUp(in);
}
catch(Exception e){
e.printStackTrace();
System.exit(0);
}
}