.NET Framework Class Library StreamWriter Constructor (Stream, Encoding) Updated: December 2010 Initializes a new instance of the StreamWriter class for the specified stream, using the specified encoding and the default buffer size.
Namespace:
System.IO
Assembly:
mscorlib (in mscorlib.dll)

Syntax
Public Sub New ( _
stream As Stream, _
encoding As Encoding _
)
public StreamWriter(
Stream stream,
Encoding encoding
)
public:
StreamWriter(
Stream^ stream,
Encoding^ encoding
)
new :
stream:Stream *
encoding:Encoding -> StreamWriter

Exceptions

Remarks
This constructor initializes the Encoding property using the encoding parameter, and the BaseStream property using the stream parameter. The position of the stream is not reset. For additional information, see Encoding. The StreamWriter object calls Dispose on the provided Stream object when StreamWriter..::.Dispose is called. Caution |
|---|
When you compile a set of characters with a particular cultural setting and retrieve those same characters with a different cultural setting, the characters might not be interpretable, and could cause an exception to be thrown. |
For a list of common I/O tasks, see Common I/O Tasks.

Examples
The following example demonstrates the StreamWriter constructors.
Public Sub CreateTextFile(ByVal FileName As String, _
ByVal TextToAdd As String)
Dim Fs As FileStream = New FileStream(FileName, _
FileMode.CreateNew, FileAccess.Write, FileShare.None)
Dim SwFromFile As StreamWriter = New StreamWriter(FileName)
SwFromFile.Write(TextToAdd)
SwFromFile.Flush()
SwFromFile.Close()
Dim SwFromFileStream As StreamWriter = New StreamWriter(Fs)
SwFromFileStream.Write(TextToAdd)
SwFromFileStream.Flush()
SwFromFileStream.Close()
Dim SwFromFileStreamDefaultEnc As StreamWriter = _
New StreamWriter(Fs, System.Text.Encoding.Default)
SwFromFileStreamDefaultEnc.Write(TextToAdd)
SwFromFileStreamDefaultEnc.Flush()
SwFromFileStreamDefaultEnc.Close()
Dim SwFromFileTrue As StreamWriter = _
New StreamWriter(FileName, True)
SwFromFileTrue.Write(TextToAdd)
SwFromFileTrue.Flush()
SwFromFileTrue.Close()
Dim SwFromFileTrueUTF8Buffer = _
New StreamWriter(FileName, _
True, System.Text.Encoding.UTF8, 512)
SwFromFileTrueUTF8Buffer.Write(TextToAdd)
SwFromFileTrueUTF8Buffer.Flush()
SwFromFileTrueUTF8Buffer.Close()
Dim SwFromFileTrueUTF8 = _
New StreamWriter(FileName, True, _
System.Text.Encoding.UTF8)
SwFromFileTrueUTF8.Write(TextToAdd)
SwFromFileTrueUTF8.Flush()
SwFromFileTrueUTF8.Close()
Dim SwFromFileStreamUTF8Buffer = _
New StreamWriter(Fs, System.Text.Encoding.UTF8, 512)
SwFromFileStreamUTF8Buffer.Write(textToAdd)
SwFromFileStreamUTF8Buffer.Flush()
SwFromFileStreamUTF8Buffer.Close()
End Sub
public void CreateTextFile(string fileName, string textToAdd)
{
string logFile = DateTime.Now.ToShortDateString()
.Replace(@"/",@"-").Replace(@"\",@"-") + ".log";
FileStream fs = new FileStream(fileName,
FileMode.CreateNew, FileAccess.Write, FileShare.None);
StreamWriter swFromFile = new StreamWriter(logFile);
swFromFile.Write(textToAdd);
swFromFile.Flush();
swFromFile.Close();
StreamWriter swFromFileStream = new StreamWriter(fs);
swFromFileStream.Write(textToAdd);
swFromFileStream.Flush();
swFromFileStream.Close();
StreamWriter swFromFileStreamDefaultEnc =
new System.IO.StreamWriter(fs,
System.Text.Encoding.Default);
swFromFileStreamDefaultEnc.Write(textToAdd);
swFromFileStreamDefaultEnc.Flush();
swFromFileStreamDefaultEnc.Close();
StreamWriter swFromFileTrue =
new StreamWriter(fileName,true);
swFromFileTrue.Write(textToAdd);
swFromFileTrue.Flush();
swFromFileTrue.Close();
StreamWriter swFromFileTrueUTF8Buffer =
new StreamWriter(fileName,
true, System.Text.Encoding.UTF8,512);
swFromFileTrueUTF8Buffer.Write(textToAdd);
swFromFileTrueUTF8Buffer.Flush();
swFromFileTrueUTF8Buffer.Close();
StreamWriter swFromFileTrueUTF8 =
new StreamWriter(fileName, true,
System.Text.Encoding.UTF8);
swFromFileTrueUTF8.Write(textToAdd);
swFromFileTrueUTF8.Flush();
swFromFileTrueUTF8.Close();
StreamWriter swFromFileStreamUTF8Buffer =
new StreamWriter(fs, System.Text.Encoding.UTF8, 512);
swFromFileStreamUTF8Buffer.Write(textToAdd);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
void CreateTextFile( String^ fileName, String^ textToAdd )
{
String^ logFile = String::Concat( DateTime::Now.ToShortDateString()
->Replace( "/", "-" )->Replace( "\\", "-" ), ".log" );
FileStream^ fs = gcnew FileStream( fileName,
FileMode::CreateNew, FileAccess::Write, FileShare::None );
StreamWriter^ swFromFile = gcnew StreamWriter( logFile );
swFromFile->Write( textToAdd );
swFromFile->Flush();
swFromFile->Close();
StreamWriter^ swFromFileStream = gcnew StreamWriter( fs );
swFromFileStream->Write( textToAdd );
swFromFileStream->Flush();
swFromFileStream->Close();
StreamWriter^ swFromFileStreamDefaultEnc =
gcnew System::IO::StreamWriter( fs,
System::Text::Encoding::Default );
swFromFileStreamDefaultEnc->Write( textToAdd );
swFromFileStreamDefaultEnc->Flush();
swFromFileStreamDefaultEnc->Close();
StreamWriter^ swFromFileTrue =
gcnew StreamWriter( fileName,true );
swFromFileTrue->Write( textToAdd );
swFromFileTrue->Flush();
swFromFileTrue->Close();
StreamWriter^ swFromFileTrueUTF8Buffer =
gcnew StreamWriter( fileName,
true, System::Text::Encoding::UTF8, 512 );
swFromFileTrueUTF8Buffer->Write( textToAdd );
swFromFileTrueUTF8Buffer->Flush();
swFromFileTrueUTF8Buffer->Close();
StreamWriter^ swFromFileTrueUTF8 =
gcnew StreamWriter( fileName, true,
System::Text::Encoding::UTF8 );
swFromFileTrueUTF8->Write( textToAdd );
swFromFileTrueUTF8->Flush();
swFromFileTrueUTF8->Close();
StreamWriter^ swFromFileStreamUTF8Buffer =
gcnew StreamWriter( fs, System::Text::Encoding::UTF8, 512 );
swFromFileStreamUTF8Buffer->Write( textToAdd );
swFromFileStreamUTF8Buffer->Flush();
swFromFileStreamUTF8Buffer->Close();
}

Version Information
.NET FrameworkSupported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0 .NET Framework Client ProfileSupported in: 4, 3.5 SP1 Portable Class LibrarySupported in: Portable Class Library

Platforms
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role not supported), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

See Also

Change History
Date | History | Reason |
|---|
December 2010
| Added information about Dispose. |
Information enhancement.
|
|
.NET Framework クラス ライブラリ StreamWriter コンストラクター (Stream, Encoding) 更新 : 2010 年 12 月 指定したエンコーディングと既定のバッファー サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化します。
名前空間:
System.IO
アセンブリ:
mscorlib (mscorlib.dll 内)

構文
Public Sub New ( _
stream As Stream, _
encoding As Encoding _
)
public StreamWriter(
Stream stream,
Encoding encoding
)
public:
StreamWriter(
Stream^ stream,
Encoding^ encoding
)
new :
stream:Stream *
encoding:Encoding -> StreamWriter

例外

解説

例
StreamWriter コンストラクターの例を次に示します。
Public Sub CreateTextFile(ByVal FileName As String, _
ByVal TextToAdd As String)
Dim Fs As FileStream = New FileStream(FileName, _
FileMode.CreateNew, FileAccess.Write, FileShare.None)
Dim SwFromFile As StreamWriter = New StreamWriter(FileName)
SwFromFile.Write(TextToAdd)
SwFromFile.Flush()
SwFromFile.Close()
Dim SwFromFileStream As StreamWriter = New StreamWriter(Fs)
SwFromFileStream.Write(TextToAdd)
SwFromFileStream.Flush()
SwFromFileStream.Close()
Dim SwFromFileStreamDefaultEnc As StreamWriter = _
New StreamWriter(Fs, System.Text.Encoding.Default)
SwFromFileStreamDefaultEnc.Write(TextToAdd)
SwFromFileStreamDefaultEnc.Flush()
SwFromFileStreamDefaultEnc.Close()
Dim SwFromFileTrue As StreamWriter = _
New StreamWriter(FileName, True)
SwFromFileTrue.Write(TextToAdd)
SwFromFileTrue.Flush()
SwFromFileTrue.Close()
Dim SwFromFileTrueUTF8Buffer = _
New StreamWriter(FileName, _
True, System.Text.Encoding.UTF8, 512)
SwFromFileTrueUTF8Buffer.Write(TextToAdd)
SwFromFileTrueUTF8Buffer.Flush()
SwFromFileTrueUTF8Buffer.Close()
Dim SwFromFileTrueUTF8 = _
New StreamWriter(FileName, True, _
System.Text.Encoding.UTF8)
SwFromFileTrueUTF8.Write(TextToAdd)
SwFromFileTrueUTF8.Flush()
SwFromFileTrueUTF8.Close()
Dim SwFromFileStreamUTF8Buffer = _
New StreamWriter(Fs, System.Text.Encoding.UTF8, 512)
SwFromFileStreamUTF8Buffer.Write(textToAdd)
SwFromFileStreamUTF8Buffer.Flush()
SwFromFileStreamUTF8Buffer.Close()
End Sub
public void CreateTextFile(string fileName, string textToAdd)
{
string logFile = DateTime.Now.ToShortDateString()
.Replace(@"/",@"-").Replace(@"\",@"-") + ".log";
FileStream fs = new FileStream(fileName,
FileMode.CreateNew, FileAccess.Write, FileShare.None);
StreamWriter swFromFile = new StreamWriter(logFile);
swFromFile.Write(textToAdd);
swFromFile.Flush();
swFromFile.Close();
StreamWriter swFromFileStream = new StreamWriter(fs);
swFromFileStream.Write(textToAdd);
swFromFileStream.Flush();
swFromFileStream.Close();
StreamWriter swFromFileStreamDefaultEnc =
new System.IO.StreamWriter(fs,
System.Text.Encoding.Default);
swFromFileStreamDefaultEnc.Write(textToAdd);
swFromFileStreamDefaultEnc.Flush();
swFromFileStreamDefaultEnc.Close();
StreamWriter swFromFileTrue =
new StreamWriter(fileName,true);
swFromFileTrue.Write(textToAdd);
swFromFileTrue.Flush();
swFromFileTrue.Close();
StreamWriter swFromFileTrueUTF8Buffer =
new StreamWriter(fileName,
true, System.Text.Encoding.UTF8,512);
swFromFileTrueUTF8Buffer.Write(textToAdd);
swFromFileTrueUTF8Buffer.Flush();
swFromFileTrueUTF8Buffer.Close();
StreamWriter swFromFileTrueUTF8 =
new StreamWriter(fileName, true,
System.Text.Encoding.UTF8);
swFromFileTrueUTF8.Write(textToAdd);
swFromFileTrueUTF8.Flush();
swFromFileTrueUTF8.Close();
StreamWriter swFromFileStreamUTF8Buffer =
new StreamWriter(fs, System.Text.Encoding.UTF8, 512);
swFromFileStreamUTF8Buffer.Write(textToAdd);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
void CreateTextFile( String^ fileName, String^ textToAdd )
{
String^ logFile = String::Concat( DateTime::Now.ToShortDateString()
->Replace( "/", "-" )->Replace( "\\", "-" ), ".log" );
FileStream^ fs = gcnew FileStream( fileName,
FileMode::CreateNew, FileAccess::Write, FileShare::None );
StreamWriter^ swFromFile = gcnew StreamWriter( logFile );
swFromFile->Write( textToAdd );
swFromFile->Flush();
swFromFile->Close();
StreamWriter^ swFromFileStream = gcnew StreamWriter( fs );
swFromFileStream->Write( textToAdd );
swFromFileStream->Flush();
swFromFileStream->Close();
StreamWriter^ swFromFileStreamDefaultEnc =
gcnew System::IO::StreamWriter( fs,
System::Text::Encoding::Default );
swFromFileStreamDefaultEnc->Write( textToAdd );
swFromFileStreamDefaultEnc->Flush();
swFromFileStreamDefaultEnc->Close();
StreamWriter^ swFromFileTrue =
gcnew StreamWriter( fileName,true );
swFromFileTrue->Write( textToAdd );
swFromFileTrue->Flush();
swFromFileTrue->Close();
StreamWriter^ swFromFileTrueUTF8Buffer =
gcnew StreamWriter( fileName,
true, System::Text::Encoding::UTF8, 512 );
swFromFileTrueUTF8Buffer->Write( textToAdd );
swFromFileTrueUTF8Buffer->Flush();
swFromFileTrueUTF8Buffer->Close();
StreamWriter^ swFromFileTrueUTF8 =
gcnew StreamWriter( fileName, true,
System::Text::Encoding::UTF8 );
swFromFileTrueUTF8->Write( textToAdd );
swFromFileTrueUTF8->Flush();
swFromFileTrueUTF8->Close();
StreamWriter^ swFromFileStreamUTF8Buffer =
gcnew StreamWriter( fs, System::Text::Encoding::UTF8, 512 );
swFromFileStreamUTF8Buffer->Write( textToAdd );
swFromFileStreamUTF8Buffer->Flush();
swFromFileStreamUTF8Buffer->Close();
}

バージョン情報
.NET Frameworkサポート対象: 4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profileサポート対象: 4、3.5 SP1 サポート対象:

プラットフォーム
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

参照

履歴の変更
日付 | History | 理由 |
|---|
2010 年 12 月
| また、Dispose に関する情報が追加されました。 |
情報の拡充
|
|