zip 내의 파일을 읽으려고하면 해당 파일에 특정 문자열이 있는지 확인하려고합니다. 하지만 그것을 검색하기 위해 "파일"(메모리 스트림)을 문자열로 가져올 수 있습니다.DotNetZip 메모리 스트림을 문자열로 변환
다음 코드를 사용하면 "stringOfStream"이 항상 공백으로 표시됩니다. 무엇을 잘못하고 있습니까? 판독기에는 항상 길이가 있고 읽기 바이트는 다른 수를 반환합니다.
using (ZipFile zip = ZipFile.Read(currentFile.FullName))
{
ZipEntry e = zip[this.searchFile.Text];
using (MemoryStream reader = new MemoryStream())
{
e.Extract(reader);
var stringReader = new StreamReader(reader);
var stringOfStream = stringReader.ReadToEnd();
}
}
감사
'ReadToEnd'를 호출하기 전에 스트림의 위치를 0으로 설정하려고합니다. –
나는 Florent B.가 여기에 대한 답을 기반으로 정확하다고 믿는다 : https://stackoverflow.com/questions/13887538/how-to-use-dotnetzip-to-extract-xml-file-from-zip –