StreamWriter.Write 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
寫入資料至資料流。
多載
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>) | |
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 為 True,或 StreamWriter 緩衝區已滿,且目前的寫入器已經關閉。
AutoFlush 為 True,或 StreamWriter 緩衝區已滿,且因為 StreamWriter 是在資料流緩衝區的結尾,所以該緩衝區的內容無法寫入至基礎的固定大小資料流。
範例
本範例會將13個元素陣列中的八個字元寫入檔案,從陣列的第三個元素開始。
using namespace System;
using namespace System::IO;
int main()
{
FileStream^ sb = gcnew FileStream( "MyFile.txt",FileMode::OpenOrCreate );
array<Char>^b = {'a','b','c','d','e','f','g','h','i','j','k','l','m'};
StreamWriter^ sw = gcnew StreamWriter( sb );
sw->Write( b, 3, 8 );
sw->Close();
}
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如果 為 true
,則會自動叫用 AutoFlush 。
如需一般 I/O 工作的清單,請參閱 一般 I/O 工作。
另請參閱
適用於
Write(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
是 Null,則不會寫入任何資料。
例外狀況
AutoFlush 為 True,或 StreamWriter 緩衝區已滿,且目前的寫入器已經關閉。
AutoFlush 為 True,或 StreamWriter 緩衝區已滿,且因為 StreamWriter 是在資料流緩衝區的結尾,所以該緩衝區的內容無法寫入至基礎的固定大小資料流。
發生 I/O 錯誤。
備註
這個方法會覆寫 TextWriter.Write。
除非提前到達數據流結尾,否則指定的 String 會寫入基礎數據流。
Flush如果 為 true
,則會自動叫用 AutoFlush 。 如果 為 value
null
,則不會寫入任何專案。
如需一般 I/O 工作的清單,請參閱 一般 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 為 True,或 StreamWriter 緩衝區已滿,且目前的寫入器已經關閉。
AutoFlush 為 True,或 StreamWriter 緩衝區已滿,且因為 StreamWriter 是在資料流緩衝區的結尾,所以該緩衝區的內容無法寫入至基礎的固定大小資料流。
備註
這個方法會覆寫 TextWriter.Write。
除非提前到達數據流結尾,否則指定的字元會寫入基礎數據流。 如果 為 AutoFlushtrue
, Flush 則會自動叫用 。
這個方法可能會提供比 Write
() char[],``int,``int
更快的效能,因為它有較少的自變數可檢查。
如需一般 I/O 工作的清單,請參閱 一般 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 為 True,或 StreamWriter 緩衝區已滿,且目前的寫入器已經關閉。
AutoFlush 為 True,或 StreamWriter 緩衝區已滿,且因為 StreamWriter 是在資料流緩衝區的結尾,所以該緩衝區的內容無法寫入至基礎的固定大小資料流。
備註
這個方法會覆寫 TextWriter.Write。
除非提前到達數據流結尾,否則指定的字元會寫入基礎數據流。 如果 為 AutoFlushtrue
, Flush 則會自動叫用 。
如需一般 I/O 工作的清單,請參閱 一般 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) 。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應