2012-07-30 4 views
0

Je regardais la documentation java et il ne semble pas y avoir un moyen de décompresser spécifiquement les fichiers saz, qui sont des archives de session créées par le proxy réseau Fiddler. Quelqu'un at-il une idée de comment le faire?Décompressez les fichiers saz java

+0

Je ne sais pas quels fichiers sont Saz. Mais si vous pouvez les décompresser, alors ils doivent être des fichiers zip, et vous pouvez les décompresser comme n'importe quel autre fichier zip. Ou voulez-vous dire "décompresser"? –

+0

Les fichiers Sax sont des fichiers d'archive de session. Ils contiennent des requêtes http et des réponses. Et je ne suis pas sûr si la décompression régulière fonctionne. Peut-être mais j'espérais qu'il y avait un fichier spécifique à saz. – barndog

Répondre

2

Selon le code this, il s'agit d'un fichier ZIP ordinaire avec une extension spécifique pour le nom de fichier. Utilisez java.util.zip.ZipFile. A propos de ne pas avoir de méthode spécifique pour cette extension - Je pense qu'il est logique de ne pas avoir de méthode spécifique pour chaque extension possible.

0

This page, trouvé par googler "fichiers saz", ​​dit:

fichiers SAZ sont simplement spécialement formatés fichiers .ZIP. Si vous renommez un fichier .SAZ à .ZIP, vous pouvez l'ouvrir pour l'affichage en utilisant ZIP standards outils de visualisation

Ils sont tout simplement des fichiers zip avec une extension différente. Décompressez-les exactement comme si vous décompressiez un fichier zip.

1

Cela devrait faire l'affaire

fichiers saz sont des fichiers zip réguliers

public static boolean unzipFiles(String srcDirectory, String srcFile, String destDirectory) 
{ 
    try 
    { 
     //first make sure that all the arguments are valid and not null 
     if(srcDirectory == null) 
     { 
      System.out.println(1); 
      return false; 
     } 
     if(srcFile == null) 
     { 
      System.out.println(2); 
      return false; 
     } 
     if(destDirectory == null) 
     { 
      System.out.println(3); 
      return false; 
     } 
     if(srcDirectory.equals("")) 
     { 
      System.out.println(4); 
      return false; 
     } 
     if(srcFile.equals("")) 
     { 
      System.out.println(5); 
      return false; 
     } 
     if(destDirectory.equals("")) 
     { 
      System.out.println(6); 
      return false; 
     } 
     //now make sure that these directories exist 
     File sourceDirectory = new File(srcDirectory); 
     File sourceFile = new File(srcDirectory + File.separator + srcFile); 
     File destinationDirectory = new File(destDirectory); 

     if(!sourceDirectory.exists()) 
     { 
      System.out.println(7); 
      return false; 
     } 
     if(!sourceFile.exists()) 
     { 
      System.out.println(sourceFile); 
      return false; 
     } 
     if(!destinationDirectory.exists()) 
     { 
      System.out.println(9); 
      return false; 
     } 

     //now start with unzip process 
     BufferedOutputStream dest = null; 

     FileInputStream fis = new FileInputStream(sourceFile); 
     ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); 

     ZipEntry entry = null; 

     while((entry = zis.getNextEntry()) != null) 
     { 
      String outputFilename = destDirectory + File.separator + entry.getName(); 

      System.out.println("Extracting file: " + entry.getName()); 

      createDirIfNeeded(destDirectory, entry); 

      int count; 

      byte data[] = new byte[BUFFER_SIZE]; 

      //write the file to the disk 
      FileOutputStream fos = new FileOutputStream(outputFilename); 
      dest = new BufferedOutputStream(fos, BUFFER_SIZE); 

      while((count = zis.read(data, 0, BUFFER_SIZE)) != -1) 
      { 
       dest.write(data, 0, count); 
      } 

      //close the output streams 
      dest.flush(); 
      dest.close(); 
     } 

     //we are done with all the files 
     //close the zip file 
     zis.close(); 

    } 
    catch(Exception e) 
    { 
     e.printStackTrace(); 
     return false; 
    } 

    return true; 
} 
Questions connexes