StreamWriter 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 StreamWriter 類別的新執行個體。
多載
| 名稱 | Description |
|---|---|
| StreamWriter(Stream) |
透過使用 UTF-8 編碼及預設緩衝區大小,初始化指定串流的類別新實例 StreamWriter 。 |
| StreamWriter(String) |
透過使用預設編碼與緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。 |
| StreamWriter(Stream, Encoding) |
透過指定的編碼和預設緩衝區大小,初始化該類別的新實例 StreamWriter 。 |
| StreamWriter(String, Boolean) |
透過使用預設編碼與緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。 |
| StreamWriter(String, FileStreamOptions) |
初始化指定檔案的新實例 StreamWriter ,使用預設編碼,並設定為指定 FileStreamOptions 物件。 |
| StreamWriter(Stream, Encoding, Int32) |
透過指定的編碼與緩衝區大小,初始化該類別的新實例 StreamWriter 。 |
| StreamWriter(String, Boolean, Encoding) |
透過指定的編碼和預設緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。 |
| StreamWriter(String, Encoding, FileStreamOptions) |
初始化指定檔案的類別實例 StreamWriter ,使用指定的編碼,並以指定 FileStreamOptions 物件配置。 |
| StreamWriter(Stream, Encoding, Int32, Boolean) |
透過指定的編碼與緩衝區大小初始化該類別的新實例 StreamWriter ,並可選擇性地保持串流開啟。 |
| StreamWriter(String, Boolean, Encoding, Int32) |
在指定路徑上初始化該類別的新實例 StreamWriter ,並使用指定的編碼與緩衝區大小。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。 |
StreamWriter(Stream)
透過使用 UTF-8 編碼及預設緩衝區大小,初始化指定串流的類別新實例 StreamWriter 。
public:
StreamWriter(System::IO::Stream ^ stream);
public StreamWriter(System.IO.Stream stream);
new System.IO.StreamWriter : System.IO.Stream -> System.IO.StreamWriter
Public Sub New (stream As Stream)
參數
- stream
- Stream
那個可以寫信的直播。
例外狀況
stream 不可書寫。
stream 為 null。
範例
以下程式碼範例展示了此建構器。
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.CreateNew);
using (StreamWriter writer = new StreamWriter(fs))
{
writer.Write(textToAdd);
}
}
finally
{
if (fs != null)
fs.Dispose();
}
}
}
}
Imports System.IO
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Dim fs As FileStream = Nothing
Try
fs = New FileStream(fileName, FileMode.CreateNew)
Using writer As StreamWriter = New StreamWriter(fs)
writer.Write(textToAdd)
End Using
Finally
If Not fs Is Nothing Then
fs.Dispose()
End If
End Try
End Sub
End Module
備註
此建構子會建立 StreamWriter 一個 UTF-8 編碼,但沒有 Byte-Order 標記(BOM),因此其 GetPreamble 方法回傳一個空的位元組陣列。 此建構子的預設 UTF-8 編碼會對無效位元組拋出例外。 此行為與屬性中 Encoding.UTF8 編碼物件所提供的行為不同。 若要指定是否對無效位元組拋出例外,請使用接受編碼物件作為參數的建構子,例如 StreamWriter。
BaseStream該屬性是利用參數stream初始化的。 串流的位置不會被重置。
當被呼叫時StreamWriter.Dispose,物件StreamWriter會呼叫Dispose()所提供的Stream物件。
謹慎
當你編譯一組特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至會導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(String)
透過使用預設編碼與緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。
public:
StreamWriter(System::String ^ path);
public StreamWriter(string path);
new System.IO.StreamWriter : string -> System.IO.StreamWriter
Public Sub New (path As String)
參數
- path
- String
完整的寫入檔案路徑。
path 可以是一個檔案名稱。
例外狀況
存取遭到拒絕。
path 為 null。
指定的路徑無效(例如,它位於未映射的磁碟機上)。
指定的路徑、檔名或兩者都超過系統定義的最大長度。
path 包含檔案名稱、目錄名稱或磁碟區標籤語法的錯誤或無效語法。
來電者沒有所需的權限。
範例
以下程式碼範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
using (StreamWriter writer = new StreamWriter(fileName))
{
writer.Write(textToAdd);
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Using writer As StreamWriter = New StreamWriter(fileName)
writer.Write(textToAdd)
End Using
End Sub
End Module
備註
此建構子會建立 StreamWriter 一個 UTF-8 編碼,但沒有 Byte-Order 標記(BOM),因此其 GetPreamble 方法回傳一個空的位元組陣列。 此建構子的預設 UTF-8 編碼會對無效位元組拋出例外。 此行為與屬性中 Encoding.UTF8 編碼物件所提供的行為不同。 若要指定 BOM 並判斷是否對無效位元組拋出例外,請使用接受編碼物件作為參數的建構子,例如 StreamWriter(String, Boolean, Encoding)。
path參數可以是檔案名稱,包括位於通用命名慣例(UNC)共享上的檔案。 若檔案存在,則會被覆寫;否則,會建立一個新檔案。
path參數不一定要是儲存在磁碟上的檔案;它可以是系統中任何支援使用串流存取的部分。
謹慎
當你編譯一組特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至會導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(Stream, Encoding)
透過指定的編碼和預設緩衝區大小,初始化該類別的新實例 StreamWriter 。
public:
StreamWriter(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding encoding);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding? encoding);
new System.IO.StreamWriter : System.IO.Stream * System.Text.Encoding -> System.IO.StreamWriter
Public Sub New (stream As Stream, encoding As Encoding)
參數
- stream
- Stream
那個可以寫信的直播。
- encoding
- Encoding
字元編碼要用。
例外狀況
stream 或 encoding 為 null。
stream 不可書寫。
範例
以下範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.CreateNew);
using (StreamWriter writer = new StreamWriter(fs, Encoding.Default))
{
writer.Write(textToAdd);
}
}
finally
{
if (fs != null)
fs.Dispose();
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Dim fs As FileStream = Nothing
Try
fs = New FileStream(fileName, FileMode.CreateNew)
Using writer As StreamWriter = New StreamWriter(fs, Encoding.Default)
writer.Write(textToAdd)
End Using
Finally
If Not fs Is Nothing Then
fs.Dispose()
End If
End Try
End Sub
End Module
備註
此建構器使用編碼參數初始 Encoding 化屬性,使用串流參數初始化 BaseStream 屬性。 串流的位置不會被重置。 如需詳細資訊,請參閱 Encoding。
當被呼叫時StreamWriter.Dispose,物件StreamWriter會呼叫Dispose()所提供的Stream物件。
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(String, Boolean)
透過使用預設編碼與緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。
public:
StreamWriter(System::String ^ path, bool append);
public StreamWriter(string path, bool append);
new System.IO.StreamWriter : string * bool -> System.IO.StreamWriter
Public Sub New (path As String, append As Boolean)
參數
- path
- String
完整的寫入檔案路徑。
- append
- Boolean
true 將資料附加到檔案中; false 來覆寫該檔案。 若指定的檔案不存在,此參數不影響,建構子會建立新檔案。
例外狀況
存取遭到拒絕。
path 為 null。
指定的路徑無效(例如,它位於未映射的磁碟機上)。
path 包含檔案名稱、目錄名稱或磁碟區標籤語法的錯誤或無效語法。
指定的路徑、檔名或兩者都超過系統定義的最大長度。
來電者沒有所需的權限。
範例
以下程式碼範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
using (StreamWriter writer = new StreamWriter(fileName, true))
{
writer.Write(textToAdd);
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Using writer As StreamWriter = New StreamWriter(fileName, True)
writer.Write(textToAdd)
End Using
End Sub
End Module
備註
此建構子會建立 StreamWriter 一個 UTF-8 編碼,但沒有 Byte-Order 標記(BOM),因此其 GetPreamble 方法回傳一個空的位元組陣列。 此建構子的預設 UTF-8 編碼會對無效位元組拋出例外。 此行為與屬性中 Encoding.UTF8 編碼物件所提供的行為不同。 若要指定 BOM 並判斷是否對無效位元組拋出例外,請使用接受編碼物件作為參數的建構子,例如 StreamWriter(String, Boolean, Encoding)。
path參數可以是檔案名稱,包括位於通用命名慣例(UNC)共享上的檔案。
path參數不一定要是儲存在磁碟上的檔案;它可以是系統中任何支援使用串流存取的部分。
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(String, FileStreamOptions)
初始化指定檔案的新實例 StreamWriter ,使用預設編碼,並設定為指定 FileStreamOptions 物件。
public:
StreamWriter(System::String ^ path, System::IO::FileStreamOptions ^ options);
public StreamWriter(string path, System.IO.FileStreamOptions options);
new System.IO.StreamWriter : string * System.IO.FileStreamOptions -> System.IO.StreamWriter
Public Sub New (path As String, options As FileStreamOptions)
參數
- path
- String
完整的寫入檔案路徑。
- options
- FileStreamOptions
一個指定底層 FileStream配置選項的物件。
例外狀況
options 是 null 。
path 不可書寫。
另請參閱
適用於
StreamWriter(Stream, Encoding, Int32)
透過指定的編碼與緩衝區大小,初始化該類別的新實例 StreamWriter 。
public:
StreamWriter(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, int bufferSize);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding encoding, int bufferSize);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding? encoding, int bufferSize);
new System.IO.StreamWriter : System.IO.Stream * System.Text.Encoding * int -> System.IO.StreamWriter
Public Sub New (stream As Stream, encoding As Encoding, bufferSize As Integer)
參數
- stream
- Stream
那個可以寫信的直播。
- encoding
- Encoding
字元編碼要用。
- bufferSize
- Int32
緩衝區大小,以字元為單位。
例外狀況
stream 或 encoding 為 null。
bufferSize 小於或等於零,唯獨 -1 可用來表示預設緩衝區大小。
stream 不可書寫。
範例
以下範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.CreateNew);
using (StreamWriter writer = new StreamWriter(fs, Encoding.UTF8, 512))
{
writer.Write(textToAdd);
}
}
finally
{
if (fs != null)
fs.Dispose();
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Dim fs As FileStream = Nothing
Try
fs = New FileStream(fileName, FileMode.CreateNew)
Using writer As StreamWriter = New StreamWriter(fs, Encoding.Default, 512)
writer.Write(textToAdd)
End Using
Finally
If Not fs Is Nothing Then
fs.Dispose()
End If
End Try
End Sub
End Module
備註
此建構子使用encoding參數初始化屬性,並使用參數初始Encoding化BaseStream屬性stream。 串流的位置不會被重置。 如需詳細資訊,請參閱 Encoding。
當被呼叫時StreamWriter.Dispose,物件StreamWriter會呼叫Dispose()所提供的Stream物件。
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(String, Boolean, Encoding)
透過指定的編碼和預設緩衝區大小,初始化指定檔案類別的新實例 StreamWriter 。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。
public:
StreamWriter(System::String ^ path, bool append, System::Text::Encoding ^ encoding);
public StreamWriter(string path, bool append, System.Text.Encoding? encoding);
public StreamWriter(string path, bool append, System.Text.Encoding encoding);
new System.IO.StreamWriter : string * bool * System.Text.Encoding -> System.IO.StreamWriter
Public Sub New (path As String, append As Boolean, encoding As Encoding)
參數
- path
- String
完整的寫入檔案路徑。
- append
- Boolean
true 將資料附加到檔案中; false 來覆寫該檔案。 若指定的檔案不存在,此參數不影響,建構子會建立新檔案。
- encoding
- Encoding
字元編碼要用。
例外狀況
存取遭到拒絕。
path 為 null。
指定的路徑無效(例如,它位於未映射的磁碟機上)。
path 包含檔案名稱、目錄名稱或磁碟區標籤語法的錯誤或無效語法。
指定的路徑、檔名或兩者都超過系統定義的最大長度。
來電者沒有所需的權限。
範例
以下範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
using (StreamWriter writer = new StreamWriter(fileName, true, Encoding.UTF8))
{
writer.Write(textToAdd);
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Using writer As StreamWriter = New StreamWriter(fileName, True, Encoding.UTF8)
writer.Write(textToAdd)
End Using
End Sub
End Module
備註
此建構器使用編碼參數初始化該 Encoding 性質。 如需詳細資訊,請參閱 Encoding。
path 可以是一個檔案名稱,包括一個位於通用命名慣例(UNC)共享中的檔案。
path 不要求必須是儲存在磁碟上的檔案;它可以是系統中任何支援串流存取的部分。
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。
另請參閱
適用於
StreamWriter(String, Encoding, FileStreamOptions)
初始化指定檔案的類別實例 StreamWriter ,使用指定的編碼,並以指定 FileStreamOptions 物件配置。
public:
StreamWriter(System::String ^ path, System::Text::Encoding ^ encoding, System::IO::FileStreamOptions ^ options);
public StreamWriter(string path, System.Text.Encoding? encoding, System.IO.FileStreamOptions options);
public StreamWriter(string path, System.Text.Encoding encoding, System.IO.FileStreamOptions options);
new System.IO.StreamWriter : string * System.Text.Encoding * System.IO.FileStreamOptions -> System.IO.StreamWriter
Public Sub New (path As String, encoding As Encoding, options As FileStreamOptions)
參數
- path
- String
完整的寫入檔案路徑。
- encoding
- Encoding
字元編碼要用。
- options
- FileStreamOptions
一個指定底層 FileStream配置選項的物件。
例外狀況
options 是 null 。
path 不可書寫。
另請參閱
適用於
StreamWriter(Stream, Encoding, Int32, Boolean)
透過指定的編碼與緩衝區大小初始化該類別的新實例 StreamWriter ,並可選擇性地保持串流開啟。
public:
StreamWriter(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, int bufferSize, bool leaveOpen);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding encoding, int bufferSize, bool leaveOpen);
public StreamWriter(System.IO.Stream stream, System.Text.Encoding? encoding = default, int bufferSize = -1, bool leaveOpen = false);
new System.IO.StreamWriter : System.IO.Stream * System.Text.Encoding * int * bool -> System.IO.StreamWriter
Public Sub New (stream As Stream, encoding As Encoding, bufferSize As Integer, leaveOpen As Boolean)
Public Sub New (stream As Stream, Optional encoding As Encoding = Nothing, Optional bufferSize As Integer = -1, Optional leaveOpen As Boolean = false)
參數
- stream
- Stream
那個可以寫信的直播。
- encoding
- Encoding
字元編碼要用。
- bufferSize
- Int32
緩衝區大小,以字元為單位。
- leaveOpen
- Boolean
true 在物件被處理後 StreamWriter 保持流路開啟;否則, false。
例外狀況
stream 或 encoding 為 null。
bufferSize 小於或等於零,唯獨 -1 可用來表示預設緩衝區大小。
stream 不可書寫。
範例
以下範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
FileStream fs = null;
try
{
fs = new FileStream(fileName, FileMode.CreateNew);
using (StreamWriter writer = new StreamWriter(fs, Encoding.UTF8, 512, false))
{
writer.Write(textToAdd);
}
}
finally
{
if (fs != null)
fs.Dispose();
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Dim fs As FileStream = Nothing
Try
fs = New FileStream(fileName, FileMode.CreateNew)
Using writer As StreamWriter = New StreamWriter(fs, Encoding.Default, 512, False)
writer.Write(textToAdd)
End Using
Finally
If Not fs Is Nothing Then
fs.Dispose()
End If
End Try
End Sub
End Module
備註
除非你將參數設為 ,否則物件在被呼叫時會呼叫Dispose()所提供的Stream物件StreamWriter.Dispose。StreamWritertrueleaveOpen
此建構器透過參數encoding初始化性質Encoding,並以參數stream初始化性質BaseStream。 串流的位置不會被重置。 欲了解更多資訊,請參閱該物業。Encoding
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
適用於
StreamWriter(String, Boolean, Encoding, Int32)
在指定路徑上初始化該類別的新實例 StreamWriter ,並使用指定的編碼與緩衝區大小。 如果該檔案存在,可以被覆寫或附加。 若該檔案不存在,則建構子會建立一個新檔案。
public:
StreamWriter(System::String ^ path, bool append, System::Text::Encoding ^ encoding, int bufferSize);
public StreamWriter(string path, bool append, System.Text.Encoding? encoding, int bufferSize);
public StreamWriter(string path, bool append, System.Text.Encoding encoding, int bufferSize);
new System.IO.StreamWriter : string * bool * System.Text.Encoding * int -> System.IO.StreamWriter
Public Sub New (path As String, append As Boolean, encoding As Encoding, bufferSize As Integer)
參數
- path
- String
完整的寫入檔案路徑。
- append
- Boolean
true 將資料附加到檔案中; false 來覆寫該檔案。 若指定的檔案不存在,此參數不影響,建構子會建立新檔案。
- encoding
- Encoding
字元編碼要用。
- bufferSize
- Int32
緩衝區大小,以字元為單位。
例外狀況
path 或 encoding 為 null。
bufferSize 小於或等於零,唯獨 -1 可用來表示預設緩衝區大小。
path 包含檔案名稱、目錄名稱或磁碟區標籤語法的錯誤或無效語法。
來電者沒有所需的權限。
存取遭到拒絕。
指定的路徑無效(例如,它位於未映射的磁碟機上)。
指定的路徑、檔名或兩者都超過系統定義的最大長度。
範例
以下範例展示了此建構器。
using System;
using System.IO;
using System.Text;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string fileName = "test.txt";
string textToAdd = "Example text in file";
using (StreamWriter writer = new StreamWriter(fileName, true, Encoding.UTF8, 512))
{
writer.Write(textToAdd);
}
}
}
}
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
Dim fileName As String = "test.txt"
Dim textToAdd As String = "Example text in file"
Using writer As StreamWriter = New StreamWriter(fileName, True, Encoding.UTF8, 512)
writer.Write(textToAdd)
End Using
End Sub
End Module
備註
此建構器使用編碼參數初始化該 Encoding 性質。 如需詳細資訊,請參閱 Encoding。
path 可以是一個檔案名稱,包括一個位於通用命名慣例(UNC)共享中的檔案。
path 不要求必須是儲存在磁碟上的檔案;它可以是系統中任何支援串流存取的部分。
謹慎
當你彙整一組具有特定文化設定的角色,並取得不同文化設定的相同角色時,這些角色可能無法被解讀,甚至可能導致例外出現。
關於常見 I/O 任務的清單,請參見 Common I/O 任務。