实现一个 TextWriter,使其以一种特定的编码向流中写入字符.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace StreamReadWrite
{
class Program
{
static void Main(string[] args)
{
// Get the directories currently on the C drive.
DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories(); // Write each directory name to a file.
using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
{
foreach (DirectoryInfo dir in cDirs)
{
sw.WriteLine(dir.Name); }
} // Read and show each line from the file.
string line = "";
using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
{
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
}
构造函数
StreamWriter(Stream) |
使用 UTF-8 编码及默认的缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。 |
StreamWriter(Stream, Encoding) |
使用指定的编码及默认的缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。 |
StreamWriter(Stream, Encoding, Int32) |
使用指定的编码及缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。 |
StreamWriter(Stream, Encoding, Int32, Boolean) |
使用指定的编码和缓冲区大小,为指定的流初始化 StreamWriter 类的新实例,并可以选择保持流处于打开状态。 |
StreamWriter(String) |
用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的一个新实例。 |
StreamWriter(String, Boolean) |
用默认编码和缓冲区大小,为指定的文件初始化 StreamWriter 类的一个新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。 |
StreamWriter(String, Boolean, Encoding) |
使用指定的编码和默认的缓冲区大小,为指定的文件初始化 StreamWriter 类的新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。 |
StreamWriter(String, Boolean, Encoding, Int32) |
使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。 |
字段
CoreNewLine |
存储用于此 (Inherited from TextWriter) |
Null |
提供 |
属性
AutoFlush |
获取或设置一个值,该值指示 StreamWriter 在每次调用 Write(Char) 之后是否都将其缓冲区刷新到基础流。 |
BaseStream |
获取同后备存储连接的基础流。 |
Encoding |
获取在其中写入输出的 Encoding。 |
FormatProvider |
获取控制格式设置的对象。 (Inherited from TextWriter) |
NewLine |
获取或设置由当前 (Inherited from TextWriter) |
方法
Close() |
关闭当前 |
CreateObjRef(Type) |
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (Inherited from MarshalByRefObject) |
Dispose() |
释放由 TextWriter 对象使用的所有资源。 (Inherited from TextWriter) |
Dispose(Boolean) |
释放由 StreamWriter 占用的非托管资源,还可以另外再释放托管资源。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 (Inherited from Object) |
Flush() |
清理当前写入器的所有缓冲区,并使所有缓冲数据写入基础流。 |
FlushAsync() |
异步清除此流的所有缓冲区并导致所有缓冲数据都写入基础设备中。 |
GetHashCode() |
作为默认哈希函数。 (Inherited from Object) |
GetLifetimeService() |
检索控制此实例的生存期策略的当前生存期服务对象。 (Inherited from MarshalByRefObject) |
GetType() |
获取当前实例的 Type。 (Inherited from Object) |
InitializeLifetimeService() |
获取生存期服务对象来控制此实例的生存期策略。 (Inherited from MarshalByRefObject) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (Inherited from Object) |
MemberwiseClone(Boolean) |
创建当前 MarshalByRefObject 对象的浅表副本。 (Inherited from MarshalByRefObject) |
ToString() |
返回表示当前对象的字符串。 (Inherited from Object) |
Write(Boolean) |
将 (Inherited from TextWriter) |
Write(Char) |
将字符写入流。 |
Write(Char[]) |
将字符数组写入流。 |
Write(Char[], Int32, Int32) |
将字符的子数组写入流。 |
Write(Decimal) |
将十进制值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(Double) |
将 8 字节浮点值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(Int32) |
将 4 字节有符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(Int64) |
将 8 字节有符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(Object) |
通过在对象上调用 (Inherited from TextWriter) |
Write(Single) |
将 4 字节浮点值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(String) |
将字符串写入流。 |
Write(String, Object) |
使用与 Format(String, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
Write(String, Object, Object) |
使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
Write(String, Object, Object, Object) |
使用与 Format(String, Object, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
Write(String, Object[]) |
使用与 Format(String, Object[]) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
Write(StringBuilder) | Inherited from TextWriter |
Write(UInt32) |
将 4 字节无符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
Write(UInt64) |
将 8 字节无符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteAsync(Char) |
将字符异步写入该流。 |
WriteAsync(Char[]) |
以异步形式将字符数组写入到下一个字符串或流。 (Inherited from TextWriter) |
WriteAsync(Char[], Int32, Int32) |
将字符的子数组异步写入该流。 |
WriteAsync(String) |
将字符串异步写入该流。 |
WriteAsync(StringBuilder, CancellationToken) | Inherited from TextWriter |
WriteLine() |
将行结束符的字符串写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Boolean) |
将后面带有行结束符的 (Inherited from TextWriter) |
WriteLine(Char) |
将后跟行结束符的字符写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Char[]) |
将后跟行结束符的字符数组写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Char[], Int32, Int32) |
将后跟行结束符的字符子数组写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Decimal) |
将后面带有行结束符的十进制值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Double) |
将后跟行结束符的 8 字节浮点值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Int32) |
将后跟行结束符的 4 字节有符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Int64) |
将后跟行结束符的 8 字节有符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(Object) |
通过在对象上调用 (Inherited from TextWriter) |
WriteLine(Single) |
将后跟行结束符的 4 字节浮点值的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(String, Object) |
使用与 Format(String, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(String, Object, Object) |
使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串和新行写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(String, Object, Object, Object) |
使用与 Format(String, Object) 相同的语义写出格式化的字符串和一个新行。 (Inherited from TextWriter) |
WriteLine(String, Object[]) |
使用与 Format(String, Object) 相同的语义写出格式化的字符串和一个新行。 (Inherited from TextWriter) |
WriteLine(StringBuilder) | Inherited from TextWriter |
WriteLine(UInt32) |
将后跟行结束符的 4 字节无符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLine(UInt64) |
将后跟行结束符的 8 字节无符号整数的文本表示形式写入文本字符串或流。 (Inherited from TextWriter) |
WriteLineAsync() |
将行终止符异步写入该流。 |
WriteLineAsync(Char) |
将后跟行终止符的字符异步写入该流。 |
WriteLineAsync(Char[]) |
将后跟行结束符的字符数组异步写入文本字符串或流。 (Inherited from TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
将后跟行终止符的字符的子数组异步写入该流。 |
WriteLineAsync(String) |
将后跟行终止符的字符串异步写入该流。 |
WriteLineAsync(StringBuilder, CancellationToken) | Inherited from TextWriter |
IDisposable.Dispose() |
有关此成员的说明,请参见 Dispose()。 (Inherited from TextWriter) |