StreamWriter 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 StreamWriter 类的新实例。
重载
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)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用 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 没有 Byte-Order 标记 (BOM) 的 UTF-8 编码,因此其 GetPreamble 方法返回一个空字节数组。 此构造函数的默认 UTF-8 编码会在无效字节上引发异常。 此行为不同于 属性中的 Encoding.UTF8 编码对象提供的行为。 若要指定是否对无效字节引发异常,请使用接受编码对象作为参数的构造函数,例如 StreamWriter。 使用 BaseStream 参数初始化 stream
属性。 流的位置不会重置。
调用 时StreamWriter.Dispose,对象StreamWriterDispose()对提供Stream的对象调用。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(String)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
用默认编码和缓冲区大小,为指定的文件初始化 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 没有 Byte-Order 标记 (BOM) 的 UTF-8 编码,因此其 GetPreamble 方法返回一个空字节数组。 此构造函数的默认 UTF-8 编码会在无效字节上引发异常。 此行为不同于 属性中的 Encoding.UTF8 编码对象提供的行为。 若要指定 BOM 并确定是否对无效字节引发异常,请使用接受编码对象作为参数的构造函数,例如 StreamWriter(String, Boolean, Encoding)。
参数 path
可以是文件名,包括通用命名约定 (UNC) 共享上的文件。 如果文件存在,则将其覆盖;否则,将创建一个新文件。
参数 path
不一定是存储在磁盘上的文件;它可以是支持使用流进行访问的系统的任何部分。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(Stream, Encoding)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定的编码及默认的缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。
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
注解
此构造函数使用编码参数初始化 属性,并使用BaseStream流参数初始化 Encoding 属性。 流的位置不会重置。 有关附加信息,请参见 Encoding。
调用 时StreamWriter.Dispose,对象StreamWriterDispose()对提供Stream的对象调用。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(String, Boolean)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
用默认编码和缓冲区大小,为指定的文件初始化 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 Mark (BOM) 的 ,因此其 GetPreamble 方法返回空字节数组。 此构造函数的默认 UTF-8 编码会在无效字节上引发异常。 此行为不同于 属性中的 Encoding.UTF8 编码对象提供的行为。 若要指定 BOM 并确定是否对无效字节引发异常,请使用接受编码对象作为参数的构造函数,例如 StreamWriter(String, Boolean, Encoding)。
参数 path
可以是文件名,包括通用命名约定 (UNC) 共享上的文件。
参数 path
不需要是存储在磁盘上的文件;它可以是支持使用流进行访问的系统的任何部分。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(String, FileStreamOptions)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用默认编码为指定文件初始化 类的新实例 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
。
stream
不可写。
另请参阅
适用于
StreamWriter(Stream, Encoding, Int32)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定的编码及缓冲区大小,为指定的流初始化 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);
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
为负数。
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
参数初始化 属性,BaseStream并使用 参数初始化 Encodingstream
属性。 流的位置不会重置。 有关附加信息,请参见 Encoding。
当调用 Dispose() 时StreamWriter.Dispose,对象StreamWriter对提供Stream的对象调用 。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(String, Boolean, Encoding)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定的编码和默认的缓冲区大小,为指定的文件初始化 StreamWriter 类的新实例。 如果该文件存在,则可以将其覆盖或向其追加。 如果该文件不存在,此构造函数将创建一个新文件。
public:
StreamWriter(System::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 任务的列表,请参阅 常见 I/O 任务。
另请参阅
适用于
StreamWriter(String, Encoding, FileStreamOptions)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定的编码为指定文件初始化 类的新实例 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);
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
。
stream
不可写。
另请参阅
适用于
StreamWriter(Stream, Encoding, Int32, Boolean)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定的编码和缓冲区大小,为指定的流初始化 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
如果在释放 StreamWriter 对象后保持流处于打开状态,则为 true
;否则为 false
。
例外
stream
或 encoding
为 null
。
bufferSize
为负数。
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
注解
除非您设置leaveOpen
参数true
,则StreamWriter对象调用Dispose()上提供Stream对象时StreamWriter.Dispose调用。
此构造函数使用 参数初始化 Encoding 属性,并使用 stream
参数初始化 BaseStreamencoding
属性。 流的位置不会重置。 有关其他信息,请参阅 Encoding 属性。
注意
编译具有特定区域性设置的一组字符并检索具有不同区域性设置的相同字符时,这些字符可能无法解释,并可能导致引发异常。
适用于
StreamWriter(String, Boolean, Encoding, Int32)
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
- Source:
- StreamWriter.cs
使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 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);
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
为负数。
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 任务的列表,请参阅 常见 I/O 任务。