public void Write() { Stream stream = StringToMemoryStreamBuilder.Builder(Encoding.UTF8).WriteLine("line1").WriteLine("line2").WriteLine("line3").Done(); VisitingLines visitor = new VisitingLines(); StreamToLines streamToLines = new StreamToLines(visitor, Encoding.UTF8); streamToLines.ReadFrom(stream); visitor.NoEmptyLines().Lines(3).Line(0, "line1").Line(1, "line2").Line(2, "line3"); }
public void ReadFrom(Stream compressed) { Console.WriteLine("compressed: can read " + compressed.CanRead); Console.WriteLine("compressed: can seek " + compressed.CanSeek); Console.WriteLine("compressed: can write " + compressed.CanWrite); MemoryStream decompressed = new MemoryStream(); var stream = new DeflateStream(compressed, CompressionMode.Decompress); Console.WriteLine("GZipStream: can read " + stream.CanRead); Console.WriteLine("GZipStream: can seek " + stream.CanSeek); Console.WriteLine("GZipStream: can write " + stream.CanWrite); Console.WriteLine("decompressed: can read " + decompressed.CanRead); Console.WriteLine("decompressed: can seek " + decompressed.CanSeek); Console.WriteLine("decompressed: can write " + decompressed.CanWrite); stream.CopyTo(decompressed); decompressed.Position = 0; reader.ReadFrom(decompressed); }