.7z ファイル内のファイルにアクセスしようとしています。zip フォルダー内のファイルの名前と、それが .7z ファイルに存在することを知っています。以前は、すべてのファイルを一時的な場所にダンプするだけの ExtractArchive(templocation) を使用していました。ここで、.7z ファイル全体を抽出せずに特定のファイルを取得できるようにしたいと考えています。
7Zip には、ExtractFile メソッドを持つ SevenZipExtractor というクラスがあります。それが私が探しているものだと思いますが、適切なドキュメントが見つかりません。
明確にする必要があるのは、Stream パラメーターを正しく渡す方法です。このようなコードを使用しています。
//this grabs the zip file and creates a FileInfo array that hold the .7z file (assume there is only one)
DirectoryInfo directoryInfo = new DirectoryInfo(ApplicationPath);
FileInfo[] zipFile = directoryInfo.GetFiles("*.7z");
//This creates the zipextractor on the zip file I just placed in the zipFile FileInfo array
using (SevenZip.SevenZipExtractor zipExtractor = new SevenZip.SevenZipExtractor(zipFile[0].FullName))
//Here I should be able to use the ExtractFile method, however I don't understand the stream parameter, and I can't find any good documentation on the method itself. What is this method looking for?
{
zipExtractor.ExtractFile("ConfigurationStore.xml", Stream stream);
}