0

我正在尝试从 .7z 存档中读取 txt 文件

using (StreamReader reader = new StreamReader(f + "//" + file.FileName))

但我收到此错误:

mscorlib.dll 中出现“System.IO.DirectoryNotFoundException”类型的未处理异常附加信息:找不到路径“E:\1.7z\1\2\3\New Text Document.txt”的一部分。

if (IntPtr.Size == 8) //x64
            {
                SevenZip.SevenZipExtractor.SetLibraryPath(@"C:\Program Files\7-Zip\7z.dll");
            }
            else //x86
            {
                SevenZip.SevenZipCompressor.SetLibraryPath(@"C:\Program Files (x86)\7-Zip\7z.dll");
            }

            string f = "E://1.7z";
            SevenZipExtractor extractor = new SevenZipExtractor(f);

            foreach (ArchiveFileInfo file in extractor.ArchiveFileData)
            {
                // Console.WriteLine("{0} : {1} Bytes", file.FileName, file.Size);

                if (file.FileName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase))
                {
                    using (StreamReader reader = new StreamReader(f + "//" + file.FileName))
                    {
                        while (reader.Peek() >= 0)
                        {
                            Console.WriteLine("{0} ", reader.ReadLine());
                        }
                    }
                }
            }
4

1 回答 1

0

要使用 SevenZipExtractor 提取文件,请使用以下命令:

String file = @"\\yourdirectory\\yourzipfile.zip";  
String directoryToExtract = @"\\yourdirectorytoextract"
using (SevenZip.SevenZipExtractor extr = new SevenZip.SevenZipExtractor(file))
{
             Console.WriteLine("Extracting File...");
             extr.ExtractArchive(directoryToExtract);
             System.IO.File.Delete(file);   
}
于 2018-05-08T15:13:05.050 回答