次の方法で共有


StreamWriter コンストラクタ (Stream, Encoding)

指定したエンコーディングと既定のバッファ サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)

構文

'宣言
Public Sub New ( _
    stream As Stream, _
    encoding As Encoding _
)
'使用
Dim stream As Stream
Dim encoding As Encoding

Dim instance As New StreamWriter(stream, encoding)
public StreamWriter (
    Stream stream,
    Encoding encoding
)
public:
StreamWriter (
    Stream^ stream, 
    Encoding^ encoding
)
public StreamWriter (
    Stream stream, 
    Encoding encoding
)
public function StreamWriter (
    stream : Stream, 
    encoding : Encoding
)

パラメータ

  • stream
    書き込まれるストリーム。
  • encoding
    使用する文字エンコーディング。

例外

例外の種類 条件

ArgumentNullException

stream または encoding が null 参照 (Visual Basic では Nothing) です。

ArgumentException

stream が書き込み可能ではありません。

解説

このコンストラクタは、エンコーディング パラメータを使用して Encoding プロパティを初期化し、ストリーム パラメータを使用して BaseStream プロパティを初期化します。詳細については、Encoding のトピックを参照してください。

Encoding.Default 以外を指定した場合、バイト順マーク (BOM) がファイルに書き込まれます。

ヒント

特定のカルチャ設定で文字セットをコンパイルし、同じ文字を異なるカルチャ設定で取得すると、文字が正しく解釈されない場合があり、例外がスローされることもあります。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク

参考例があるトピック

テキスト ファイルを作成する。

方法 : ファイルにテキストを書き込む

テキスト ファイルに書き込む。

方法 : ファイルにテキストを書き込む

テキスト ファイルから読み取る。

方法 : ファイルからテキストを読み取る

テキストをファイルに追加する。

方法 : ログ ファイルを開いて情報を追加する

File.AppendText

FileInfo.AppendText

ファイルのサイズを取得する。

FileInfo.Length

ファイルの属性を取得する。

File.GetAttributes

ファイルの属性を設定する。

File.SetAttributes

ファイルが存在するかどうかを判別する。

File.Exists

バイナリ ファイルから読み取る。

方法 : 新しく作成されたデータ ファイルに対して読み書きする

バイナリ ファイルに書き込む。

方法 : 新しく作成されたデータ ファイルに対して読み書きする

使用例

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();
}
public void CreateTextFile(String fileName, String textToAdd)
{
    String logFile = DateTime.get_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.get_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.get_UTF8(), 512);
    swFromFileTrueUTF8Buffer.Write(textToAdd);
    swFromFileTrueUTF8Buffer.Flush();
    swFromFileTrueUTF8Buffer.Close();
    StreamWriter swFromFileTrueUTF8 = new StreamWriter(fileName,
        true, System.Text.Encoding.get_UTF8());
    swFromFileTrueUTF8.Write(textToAdd);
    swFromFileTrueUTF8.Flush();
    swFromFileTrueUTF8.Close();
    StreamWriter swFromFileStreamUTF8Buffer = new StreamWriter(fs,
        System.Text.Encoding.get_UTF8(), 512);
    swFromFileStreamUTF8Buffer.Write(textToAdd);
    swFromFileStreamUTF8Buffer.Flush();
    swFromFileStreamUTF8Buffer.Close();
} //CreateTextFile

プラットフォーム

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 2.0、1.0

参照

関連項目

StreamWriter クラス
StreamWriter メンバ
System.IO 名前空間
Encoding

その他の技術情報

ファイルおよびストリーム入出力
方法 : ファイルからテキストを読み取る
方法 : ファイルにテキストを書き込む