實現一個 TextWriter,使其以一種特定的編碼向流中寫入字符.
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace StreamReadWrite 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 // Get the directories currently on the C drive. 14 DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories(); 15 16 // Write each directory name to a file. 17 using (StreamWriter sw = new StreamWriter("CDriveDirs.txt")) 18 { 19 foreach (DirectoryInfo dir in cDirs) 20 { 21 sw.WriteLine(dir.Name); 22 23 } 24 } 25 26 // Read and show each line from the file. 27 string line = ""; 28 using (StreamReader sr = new StreamReader("CDriveDirs.txt")) 29 { 30 while ((line = sr.ReadLine()) != null) 31 { 32 Console.WriteLine(line); 33 } 34 } 35 } 36 } 37 }
構造函數
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 | 存儲用於此 |
Null | 提供 |
屬性
AutoFlush | 獲取或設置一個值,該值指示 StreamWriter 在每次調用 Write(Char) 之后是否都將其緩沖區刷新到基礎流。 |
BaseStream | 獲取同后備存儲連接的基礎流。 |
Encoding | 獲取在其中寫入輸出的 Encoding。 |
FormatProvider | 獲取控制格式設置的對象。 (Inherited from TextWriter) |
NewLine | 獲取或設置由當前 |
方法
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) | 將 |
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) | 通過在對象上調用 |
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) | 將后面帶有行結束符的 |
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) | 通過在對象上調用 |
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) |