StreamWriter.Write 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將數據寫入數據流。
多載
| 名稱 | Description |
|---|---|
| Write(String, Object, Object, Object) |
會將格式化字串寫入串流,使用與方法 Format(String, Object, Object, Object) 相同的語意。 |
| Write(String, Object, Object) |
會用與方法 Format(String, Object, Object) 相同的語意寫入格式化的字串到串流。 |
| Write(Char[], Int32, Int32) |
將字元的子陣列寫入數據流。 |
| Write(String, ReadOnlySpan<Object>) |
將格式化字串寫入串流,使用與 相同的語意 Format(String, ReadOnlySpan<Object>)。 |
| Write(String, Object[]) |
會將格式化字串寫入串流,使用與方法 Format(String, Object[]) 相同的語意。 |
| Write(ReadOnlySpan<Char>) |
將字元範圍寫入數據流。 |
| Write(String) |
將字串寫入數據流。 |
| Write(Char[]) |
將字元陣列寫入數據流。 |
| Write(Char) |
將字元寫入數據流。 |
| Write(String, Object) |
會將格式化字串寫入串流,使用與方法 Format(String, Object) 相同的語意。 |
Write(String, Object, Object, Object)
會將格式化字串寫入串流,使用與方法 Format(String, Object, Object, Object) 相同的語意。
public:
override void Write(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public override void Write(string format, object? arg0, object? arg1, object? arg2);
override this.Write : string * obj * obj * obj -> unit
Public Overrides Sub Write (format As String, arg0 As Object, arg1 As Object, arg2 As Object)
參數
- format
- String
複合格式字串。
- arg0
- Object
要格式化和寫入的第一個物件。
- arg1
- Object
要格式化和寫入的第二個物件。
- arg2
- Object
要格式化和寫入的第三個物件。
備註
請參閱 Write(String, Object, Object, Object) 所提供的複合格式功能的說明。
適用於
Write(String, Object, Object)
會用與方法 Format(String, Object, Object) 相同的語意寫入格式化的字串到串流。
public:
override void Write(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public override void Write(string format, object? arg0, object? arg1);
override this.Write : string * obj * obj -> unit
Public Overrides Sub Write (format As String, arg0 As Object, arg1 As Object)
參數
- format
- String
複合格式字串。
- arg0
- Object
要格式化和寫入的第一個物件。
- arg1
- Object
要格式化和寫入的第二個物件。
備註
請參閱 Write(String, Object, Object) 所提供的複合格式功能的說明。
適用於
Write(Char[], Int32, Int32)
將字元的子陣列寫入數據流。
public:
override void Write(cli::array <char> ^ buffer, int index, int count);
public override void Write(char[] buffer, int index, int count);
override this.Write : char[] * int * int -> unit
Public Overrides Sub Write (buffer As Char(), index As Integer, count As Integer)
參數
- buffer
- Char[]
一個包含要寫入資料的字元陣列。
- index
- Int32
緩衝區中字元位置,從哪裡開始讀取資料。
- count
- Int32
要寫入的字元數上限。
例外狀況
buffer 是 null。
緩衝區長度減 index 值小於 count。
index 或 count 是陰性。
發生 I/O 錯誤。
AutoFlush 是真或 StreamWriter 緩衝區已滿,且當前寫入者已關閉。
AutoFlush 為真或 StreamWriter 緩衝區已滿,且緩衝區內容無法寫入底層固定大小的串流,因為 位於 StreamWriter 串流的末端。
範例
此範例從一個 13 元素的陣列寫入八個字元到檔案,從陣列的第三個元素開始。
using System;
using System.IO;
public class SWBuff
{
public static void Main(String[] args)
{
FileStream sb = new FileStream("MyFile.txt", FileMode.OpenOrCreate);
char[] b = {'a','b','c','d','e','f','g','h','i','j','k','l','m'};
StreamWriter sw = new StreamWriter(sb);
sw.Write(b, 3, 8);
sw.Close();
}
}
Imports System.IO
Public Class SWBuff
Public Shared Sub Main()
Dim sb As New FileStream("MyFile.txt", FileMode.OpenOrCreate)
Dim b As Char() = {"a"c, "b"c, "c"c, "d"c, "e"c, "f"c, "g"c, _
"h"c, "i"c, "j"c, "k"c, "l"c, "m"c}
Dim sw As New StreamWriter(sb)
sw.Write(b, 3, 8)
sw.Close()
End Sub
End Class
備註
這個方法會覆寫 TextWriter.Write。
字元從 buffer 開始 index 讀到+ index (count - 1)。 除非底層串流的結束被提前到達,否則所有字元都會寫入底層串流。
Flush 若 AutoFlush 是 true,則會自動被調用。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
Write(String, ReadOnlySpan<Object>)
將格式化字串寫入串流,使用與 相同的語意 Format(String, ReadOnlySpan<Object>)。
public:
override void Write(System::String ^ format, ReadOnlySpan<System::Object ^> arg);
public override void Write(string format, scoped ReadOnlySpan<object?> arg);
override this.Write : string * ReadOnlySpan<obj> -> unit
Public Overrides Sub Write (format As String, arg As ReadOnlySpan(Of Object))
參數
- format
- String
複合格式字串。
- arg
- ReadOnlySpan<Object>
物件範圍,包含零個或多個要格式化和寫入的物件。
適用於
Write(String, Object[])
會將格式化字串寫入串流,使用與方法 Format(String, Object[]) 相同的語意。
public:
override void Write(System::String ^ format, ... cli::array <System::Object ^> ^ arg);
public override void Write(string format, params object?[] arg);
override this.Write : string * obj[] -> unit
Public Overrides Sub Write (format As String, ParamArray arg As Object())
參數
- format
- String
複合格式字串。
- arg
- Object[]
對象陣列,包含零個或多個要格式化和寫入的物件。
備註
請參閱 Write(String, Object[]) 所提供的複合格式功能的說明。
適用於
Write(ReadOnlySpan<Char>)
將字元範圍寫入數據流。
public:
override void Write(ReadOnlySpan<char> buffer);
public override void Write(ReadOnlySpan<char> buffer);
override this.Write : ReadOnlySpan<char> -> unit
Public Overrides Sub Write (buffer As ReadOnlySpan(Of Char))
參數
- buffer
- ReadOnlySpan<Char>
要寫入的字元範圍。
適用於
Write(String)
將字串寫入數據流。
public:
override void Write(System::String ^ value);
public override void Write(string value);
public override void Write(string? value);
override this.Write : string -> unit
Public Overrides Sub Write (value As String)
參數
- value
- String
寫入串流的字串。 若 value 為零,則不會寫入任何東西。
例外狀況
AutoFlush 是真或 StreamWriter 緩衝區已滿,且當前寫入者已關閉。
AutoFlush 為真或 StreamWriter 緩衝區已滿,且緩衝區內容無法寫入底層固定大小的串流,因為 位於 StreamWriter 串流的末端。
發生 I/O 錯誤。
備註
這個方法會覆寫 TextWriter.Write。
指定的 String 資料會寫入底層串流,除非串流的終點過早到達。
Flush 若 AutoFlush 是 true,則會自動被調用。 若 value 為 , null則不記錄任何條目。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
Write(Char[])
將字元陣列寫入數據流。
public:
override void Write(cli::array <char> ^ buffer);
public override void Write(char[] buffer);
public override void Write(char[]? buffer);
override this.Write : char[] -> unit
Public Overrides Sub Write (buffer As Char())
參數
- buffer
- Char[]
一個包含要寫入資料的字元陣列。 若 buffer 為, null則未被書寫。
例外狀況
發生 I/O 錯誤。
AutoFlush 是真或 StreamWriter 緩衝區已滿,且當前寫入者已關閉。
AutoFlush 為真或 StreamWriter 緩衝區已滿,且緩衝區內容無法寫入底層固定大小的串流,因為 位於 StreamWriter 串流的末端。
備註
這個方法會覆寫 TextWriter.Write。
指定的字元會寫入底層串流,除非串流結束時過早到達。 若AutoFlush為 ,trueFlush則自動被調用。
此方法可能比 (Write) 更快char[],``int,``int,因為需檢查的參數較少。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
Write(Char)
將字元寫入數據流。
public:
override void Write(char value);
public override void Write(char value);
override this.Write : char -> unit
Public Overrides Sub Write (value As Char)
參數
- value
- Char
寫給直播的角色。
例外狀況
發生 I/O 錯誤。
AutoFlush 是真或 StreamWriter 緩衝區已滿,且當前寫入者已關閉。
AutoFlush 為真或 StreamWriter 緩衝區已滿,且緩衝區內容無法寫入底層固定大小的串流,因為 位於 StreamWriter 串流的末端。
備註
這個方法會覆寫 TextWriter.Write。
指定的字元會寫入底層串流,除非串流的結束時間過早到達。 若AutoFlush為 ,trueFlush則自動被調用。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
Write(String, Object)
會將格式化字串寫入串流,使用與方法 Format(String, Object) 相同的語意。
public:
override void Write(System::String ^ format, System::Object ^ arg0);
public override void Write(string format, object? arg0);
override this.Write : string * obj -> unit
Public Overrides Sub Write (format As String, arg0 As Object)
參數
- format
- String
複合格式字串。
- arg0
- Object
要格式化和寫入的物件。
備註
請參閱 Write(String, Object) 所提供的複合格式功能的說明。