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