我有 LZH 存档(存档的.lzh,.lha扩展名),需要在.NET Framework 4中从中提取文件吗? .NET Framework 4是否有一些内置的工具集?
答案 0 :(得分:1)
我将LHA Java解压缩库移植到名为LHA Decompressor的.NET。
答案 1 :(得分:0)
非常感谢以上作者。我已经发布了一个简单的实现,以供参考。
//Extracts all files in the .lzh archive
LhaFile lhaFile = null;
byte[] dest = new byte[8];
List<string> extractedFileList = new List<string>();
lhaFile = new LhaFile(filePath, Encoding.UTF7);
IEnumerator<LhaEntry> enumerator = lhaFile.GetEnumerator();
while (enumerator.MoveNext())
{
string fileName = enumerator.Current.GetPath();
LhaEntry lhaEntry = lhaFile.GetEntry(fileName);
dest = lhaFile.GetEntryBytes(lhaEntry);
File.WriteAllBytes(Path.Combine(extractionPath, fileName), dest);
string fullPath = Path.Combine(extractionPath, fileName);
extractedFileList.Add(fullPath);
}
lhaFile.Close();