DirectoryZip.java


Dosyayı İndir
import java.util.zip.*;
import java.io.*;
public class DirectoryZip{
  private ZipOutputStream zos;
  private FileOutputStream fos;
  private String root="";
  public void zip(String dirPath)
      throws Exception
  {
    fos=new FileOutputStream(getZipFilePath(dirPath));
    zos=new ZipOutputStream(fos);
    zipDir("",dirPath);
    zos.close();
    fos.close();
  }
  private void zipDir(String root,String dirPath)
      throws Exception
  {
    File dir=new File(dirPath);
    if(dir.isDirectory()){
      File[] files=dir.listFiles();
      for(int i=0;i<files.length;i++){
        if(files[i].isDirectory()){
          if(!root.equals("")){
            zipDir(root+"\\"+dir.getName(),files[i].getPath());
          }else{
            zipDir(dir.getName(),files[i].getPath());
          }
        }else if(files[i].isFile()){
          if(!root.equals("")){
            zipFile(root+"\\"+dir.getName(),files[i].getPath());
          }else{
            zipFile(dir.getName(),files[i].getPath());
          }
        }
      }
    }
  }
  private void zipFile(String root,String filepath)
      throws Exception
  {
    System.out.println(filepath+"  zipleniyor...");
    File file=new File(filepath);
    FileInputStream fis=new FileInputStream(file);
    BufferedInputStream bis=new BufferedInputStream(fis);
    ZipEntry fileEntry=new ZipEntry(root+"\\"+file.getName());
    zos.putNextEntry(fileEntry);
    byte data[]=new byte[2048];
    int count;
    while((count=bis.read(data,0,2048))!=-1){
      zos.write(data,0,count);
    }
    bis.close();
    fis.close();
  }
  private String getZipFilePath(String dirPath){
    File dir=new File(dirPath);
    String name=dir.getName();
    String parent=dir.getParent();
    String zipFilePath=parent+File.separator+name+".zip";
    return zipFilePath;
  }
  public static void main(String[] args) {
    String dir=args[0];
    DirectoryZip zipper=new DirectoryZip();
    try{
      zipper.zip(dir);
    }catch(Exception e){
      e.printStackTrace();
    }
  }
}
				
Dosyayı İndir

Bu Sayfayı Paylaş:




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir