2016-03-01 15 views
0

我已经提到这Return StreamReader to Beginning,但无法弄清楚这个问题。如何将StreamReader的流重置为开始?

这是读取zip文件中特定文件流的代码。这里有两个不同的zip文件内的两个文件流。现在我需要比较这些流。

我无法将BaseFileReader流的流设置为流的开始。

using (FileStream BaseZipToOpen = new FileStream(BaseArchive,FileMode.Open) , CurrentZipToOpen = new FileStream(CurrentArchive,FileMode.Open)) 
{ 
    using (ZipArchive BaseZip = new ZipArchive(BaseZipToOpen, ZipArchiveMode.Read), CurrentZip = new ZipArchive(CurrentZipToOpen, ZipArchiveMode.Read)) 
    { 
     ZipArchiveEntry BaseFile = BaseZip.GetEntry(requiredFile); 
     ZipArchiveEntry CurrentFile = CurrentZip.GetEntry(requiredFile); 

     using (StreamReader BaseFileReader = new StreamReader(BaseFile.Open()), CurrentFileReader = new StreamReader(CurrentFile.Open())) 
     { 
      string baseFileLine, currentFileLine; 

      while (!CurrentFileReader.EndOfStream) 
      { 
       currentFileLine = CurrentFileReader.ReadLine(); 

       while (!BaseFileReader.EndOfStream) 
       { 
        baseFileLine = BaseFileReader.ReadLine(); 

        if (!currentFileLine.Equals(baseFileLine)) 
        { 
         difference = true; 
        } 
        else 
        { 
         difference = false; 
         break; 
        } 
       } 

       // how to reset BaseFileReader Stream to beginning? 
       BaseZipToOpen.Seek(0, SeekOrigin.Begin); //This is not working 
      } 
     } 
    } 
} 
+0

究竟是什么你想实现什么? – JanR

+0

如何关闭当前流并创建一个新流? – Ian

+0

我需要比较两个不同zip文件中的两个文本文件并记录它们之间的差异 –

回答

0

您可以使用

FileStream stream = new FileStream(); 
    stream.Position = 0; 
相关问题