【问题标题】:Variety of ways to reading and writing to files and data streams in c#? [closed]在 C# 中读取和写入文件和数据流的各种方法? [关闭]
【发布时间】:2014-05-11 06:20:58
【问题描述】:
我想从文件和数据流中逐个字符地读取。并且需要在当前流中设置位置。
我知道 System.IO 命名空间就是为此而生的。为了做到这一点,存在多种类,例如
StreamReader 类,
TextReader 类,
流类,
BinaryReader 类,
FileStream 类,
我想知道在 C# 中还有哪些其他方法可以做到这一点,哪种方法最好?为什么?
【问题讨论】:
标签:
c#
file
stream
streamreader
【解决方案1】:
如果您使用基类Stream 进行读写,您可以让您的用户将一个作为参数传递给您的读写函数。这样一来,您的调用者就可以决定是否要从文件、网络、内存或其他内容中读取或写入。
链接站点底部的继承层次结构表明,现在您的调用者可以选择很多实现:
Microsoft.JScript.COMCharStream
System.Data.OracleClient.OracleBFile
System.Data.OracleClient.OracleLob
System.Data.SqlTypes.SqlFileStream
System.IO.BufferedStream
System.IO.Compression.DeflateStream
System.IO.Compression.GZipStream
System.IO.FileStream
System.IO.MemoryStream
System.IO.Pipes.PipeStream
System.IO.UnmanagedMemoryStream
System.Net.Security.AuthenticatedStream
System.Net.Sockets.NetworkStream
System.Printing.PrintQueueStream
System.Security.Cryptography.CryptoStream