0

私はJavaのドキュメントを調べていましたが、ネットワークプロキシFiddlerによって作成されたセッションアーカイブであるsazファイルを具体的に解凍する方法がないようです。誰かがそれを行う方法について何か考えがありますか?

4

3 に答える 3

2

これによると、ファイル名に特定の拡張子が付いた通常の ZIP です。java.util.zip.ZipFileを使用します。

この拡張機能に特定のメソッドがないことについて - 考えられるすべての拡張機能に特定のメソッドがないのは、理にかなっていると思います。

于 2012-07-30T17:48:53.137 に答える
1

これはトリックを行う必要があります

sazファイルは通常のzipファイルです

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;
}
于 2012-07-30T18:10:26.577 に答える
0

「sazファイル」をグーグルで検索して見つかったこのページには、次のように書かれています。

SAZファイルは、単に特別にフォーマットされた.ZIPファイルです。.SAZファイルの名前を.ZIPに変更すると、標準のZIP表示ツールを使用してファイルを開いて表示できます。

つまり、拡張子が異なるzipファイルにすぎません。zipファイルを解凍するのとまったく同じように解凍します。

于 2012-07-30T17:49:19.877 に答える