I했습니다 아래 코드, 다음 일반 텍스트로이 항목을 읽으려고 create
NoCompression
즉 ZERO compression ratio
이 파일에 다음 add entry
새로운 zip 파일 있음 ."ZERO"압축 비율과 함께 "우편 번호"파일에서 파일의 텍스트를 읽는
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"d:\release.zip", FileMode.Create))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Create))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("Readme.txt", CompressionLevel.NoCompression);
using (StreamWriter writer = new StreamWriter(readmeEntry.Open()))
{
writer.WriteLine("Information about this package.");
writer.WriteLine("========================");
}
}
}
string text = System.IO.File.ReadAllText(@"d:\release.zip\Readme.txt");
Console.WriteLine("Contents of WriteText.txt = {0}", text);
}
}
}
zip 파일 및 해당 항목 모두 생성, 나는 윈도우 탐색기에서 액세스 할 수 있지만, 코드 시도가 읽어되면, 아래의 오류 얻을 : 첫째
Unhandled Exception: System.IO.DirectoryNotFoundException: Could not find a part of the path 'd:\release.zip\Readme.txt'. at System.IO.Win32FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions opti ons, FileStream parent) at System.IO.Win32FileSystem.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions o ptions, FileStream parent) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options) at System.IO.File.InternalReadAllText(String path, Encoding encoding)
at System.IO.File.ReadAllText(String path) at ConsoleApplication.Program.Main(String[] args)
음 ... zip 파일을 일반 디렉토리로 처리 할 수 없습니다. 'd : \ release.zip \ Readme.txt' 경로가 유효하지 않습니다. 익스플로러가 사용자가 거기를 검색하고 텍스트 파일을 읽도록하기위한 추가 단계가 필요하기 때문에 실제 경로가되지는 않습니다. 날 믿지 않니? 명령 프롬프트를 열고'dir d : \ release.zip \ Readme.txt'를 입력하고 무슨 일이 일어나는 지보십시오. zip 파일을 압축하지 않고 추가하면 압축되지 않은 내용을 추가했기 때문에 zip 파일 크기가 작아지지 않습니다. –