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>) |
使用與 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 為 true,或 StreamWriter 緩衝區已滿,且目前的寫入器已關閉。
AutoFlush 為 true,或 StreamWriter 緩衝區已滿,且緩衝區的內容無法寫入基礎固定大小數據流,因為 StreamWriter 位於數據流結尾。
範例
本範例會將13個元素陣列中的8個字元寫入檔案,從陣列的第三個元素開始。
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。
字元會從 index
開始從 buffer
讀取,並繼續 index
+ (count
- 1)。 除非提前到達基礎數據流結尾,否則所有字元都會寫入基礎數據流。 如果 AutoFlushtrue
,系統會自動叫用 Flush。
如需一般 I/O 工作的清單,請參閱 一般 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
為 null,則不會寫入任何內容。
例外狀況
AutoFlush 為 true,或 StreamWriter 緩衝區已滿,且目前的寫入器已關閉。
AutoFlush 為 true,或 StreamWriter 緩衝區已滿,且緩衝區的內容無法寫入基礎固定大小數據流,因為 StreamWriter 位於數據流結尾。
發生 I/O 錯誤。
備註
此方法會覆寫 TextWriter.Write。
除非過早到達數據流結尾,否則指定的 String 會寫入基礎數據流。
如果 AutoFlushtrue
,系統會自動叫用 Flush。 如果 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應