StreamWriter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文字を特定のエンコーディングでストリームに書き込むための TextWriter を実装しています。
public ref class StreamWriter : System::IO::TextWriter
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
public class StreamWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamWriter : System.IO.TextWriter
type StreamWriter = class
inherit TextWriter
[<System.Serializable>]
type StreamWriter = class
inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamWriter = class
inherit TextWriter
Public Class StreamWriter
Inherits TextWriter
- 継承
- 継承
- 属性
例
次の例では、オブジェクトを使用して、 StreamWriter C ドライブ上のディレクトリの一覧を示すファイルを作成し、オブジェクトを使用して StreamReader 各ディレクトリ名を読み取り、表示する方法を示します。 using
アンマネージリソースが正しく破棄されるように、ステートメントでこれらのオブジェクトを使用することをお勧めします。 ステートメントは、 using
Dispose それを使用しているコードが完了すると、オブジェクトに対してを自動的に呼び出します。 この例で使用するコンストラクターは、Windows ストアアプリでの使用はサポートされていません。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace StreamReadWrite
{
class Program
{
static void Main(string[] args)
{
// Get the directories currently on the C drive.
DirectoryInfo[] cDirs = new DirectoryInfo(@"c:\").GetDirectories();
// Write each directory name to a file.
using (StreamWriter sw = new StreamWriter("CDriveDirs.txt"))
{
foreach (DirectoryInfo dir in cDirs)
{
sw.WriteLine(dir.Name);
}
}
// Read and show each line from the file.
string line = "";
using (StreamReader sr = new StreamReader("CDriveDirs.txt"))
{
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
}
}
Imports System.IO
Class Program
Shared Sub Main()
' Get the directories currently on the C drive.
Dim cDirs As DirectoryInfo() = New DirectoryInfo("c:\").GetDirectories()
' Write each directory name to a file.
Using sw As StreamWriter = New StreamWriter("CDriveDirs.txt")
For Each Dir As DirectoryInfo In cDirs
sw.WriteLine(Dir.Name)
Next
End Using
'Read and show each line from the file.
Dim line As String = ""
Using sr As StreamReader = New StreamReader("CDriveDirs.txt")
Do
line = sr.ReadLine()
Console.WriteLine(line)
Loop Until line Is Nothing
End Using
End Sub
End Class
注釈
StreamWriter は、特定のエンコードでの文字出力用に設計されています。一方、から派生したクラスは、バイト入出力用に設計されてい Stream ます。
重要
この型は IDisposable インターフェイスを実装します。 型の使用が完了したら、直接的または間接的に型を破棄する必要があります。 直接的に型を破棄するには、try
/catch
ブロック内で Dispose メソッドを呼び出します。 間接的に型を破棄するには、using
(C# の場合) または Using
(Visual Basic 言語) などの言語構成要素を使用します。 詳細については、IDisposable インターフェイスに関するトピック内の「IDisposable を実装するオブジェクトの使用」セクションを参照してください。
StreamWriter 特に指定しない限り、既定ではのインスタンスが使用 UTF8Encoding されます。 のこのインスタンス UTF8Encoding
は、バイトオーダーマーク (BOM) を使用せずに構築されるため、 GetPreamble メソッドは空のバイト配列を返します。 このコンストラクターの既定の UTF-8 エンコーディングでは、無効なバイトで例外がスローされます。 この動作は、プロパティの encoding オブジェクトによって提供される動作とは異なり Encoding.UTF8 ます。 BOM を指定し、無効なバイトに対して例外がスローされるかどうかを判断するには、やなどのパラメーターとしてエンコーディングオブジェクトを受け取るコンストラクターを使用し StreamWriter(String, Boolean, Encoding) StreamWriter ます。
既定では、は StreamWriter スレッドセーフではありません。 TextWriter.Synchronizedスレッドセーフなラッパーについては、「」を参照してください。
共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。
コンストラクター
StreamWriter(Stream) |
UTF-8 エンコーディングと既定のバッファー サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化します。 |
StreamWriter(Stream, Encoding) |
指定したエンコーディングと既定のバッファー サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化します。 |
StreamWriter(Stream, Encoding, Int32) |
指定したエンコーディングとバッファー サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化します。 |
StreamWriter(Stream, Encoding, Int32, Boolean) |
指定した円コーディングとバッファー サイズを使用して、指定したストリーム用の StreamWriter クラスの新しいインスタンスを初期化し、必要に応じて、ストリームを開いたままにします。 |
StreamWriter(String) |
既定のエンコーディングとバッファー サイズを使用して、指定したファイル用の StreamWriter クラスの新しいインスタンスを初期化します。 |
StreamWriter(String, Boolean) |
既定のエンコーディングとバッファー サイズを使用して、指定したファイル用の StreamWriter クラスの新しいインスタンスを初期化します。 ファイルが存在する場合は、ファイルを上書きするか、またはファイルの末尾に追加できます。 ファイルが存在しない場合は、このコンストラクターが新しいファイルを作成します。 |
StreamWriter(String, Boolean, Encoding) |
指定したエンコーディングと既定のバッファー サイズを使用して、指定したファイル用の StreamWriter クラスの新しいインスタンスを初期化します。 ファイルが存在する場合は、ファイルを上書きするか、またはファイルの末尾に追加できます。 ファイルが存在しない場合は、このコンストラクターが新しいファイルを作成します。 |
StreamWriter(String, Boolean, Encoding, Int32) |
指定したエンコーディングとバッファー サイズを使用して、指定したパス上の指定したファイル用の StreamWriter クラスの新しいインスタンスを初期化します。 ファイルが存在する場合は、ファイルを上書きするか、またはファイルの末尾に追加できます。 ファイルが存在しない場合は、このコンストラクターが新しいファイルを作成します。 |
StreamWriter(String, Encoding, FileStreamOptions) |
指定したエンコーディングを使用して、指定したファイルの クラスの新しいインスタンスを初期化し、指定した StreamWriter オブジェクトで構成 FileStreamOptions します。 |
StreamWriter(String, FileStreamOptions) |
既定のエンコードを使用して、指定したファイルの クラスの新しいインスタンスを初期化し、指定した StreamWriter オブジェクトで構成 FileStreamOptions します。 |
フィールド
CoreNewLine |
この |
Null |
バッキング ストアを持たない書き込み専用の |
プロパティ
AutoFlush |
StreamWriter が呼び出されるたびに、Write(Char) によって基になるストリームに対するバッファーをフラッシュするかどうかを示す値を取得または設定します。 |
BaseStream |
バッキング ストアと連結する、基になるストリームを取得します。 |
Encoding |
出力の書き込みに使用する Encoding を取得します。 |
FormatProvider |
書式を制御するオブジェクトを取得します。 (継承元 TextWriter) |
NewLine |
現在の |
メソッド
Close() |
現在の |
Close() |
現在のライターを終了し、ライターに関連付けられたすべてのシステム リソースを解放します。 (継承元 TextWriter) |
CreateObjRef(Type) |
リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (継承元 MarshalByRefObject) |
Dispose() |
この TextWriter オブジェクトによって使用されているすべてのリソースを解放します。 (継承元 TextWriter) |
Dispose(Boolean) |
バッファーに入れられたデータが基になるストリームに書き込まれ、StreamWriter によって使用されているアンマネージド リソースが解放されます。必要に応じてマネージド リソースも解放されます。 |
DisposeAsync() |
バッファーされたデータを基になるストリームに非同期で書き込み、StreamWriter で使用されるアンマネージド リソースを解放します。 |
DisposeAsync() |
TextWriter オブジェクトによって使用されるすべてのリソースを非同期でリリースします。 (継承元 TextWriter) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Finalize() |
現在の StreamWriter のリソースを解放し、ガベージ コレクターで再生します。 |
Flush() |
現在のライターで使用したすべてのバッファーをクリアし、バッファー内のすべてのデータを基になるストリームに書き込みます。 |
FlushAsync() |
このストリームのすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込みます。 |
FlushAsync() |
現在のライターのすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込みます。 (継承元 TextWriter) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetLifetimeService() |
互換性のために残されています。
対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
InitializeLifetimeService() |
互換性のために残されています。
このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。 (継承元 MarshalByRefObject) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
MemberwiseClone(Boolean) |
現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (継承元 MarshalByRefObject) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
Write(Boolean) |
|
Write(Char) |
ストリームに文字を書き込みます。 |
Write(Char[]) |
ストリームに文字配列を書き込みます。 |
Write(Char[], Int32, Int32) |
ストリームに文字配列の一部を書き込みます。 |
Write(Decimal) |
10 進値のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(Double) |
8 バイト浮動小数点値のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(Int32) |
4 バイト符号付き整数のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(Int64) |
8 バイト符号付き整数のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(Object) |
オブジェクトで |
Write(ReadOnlySpan<Char>) |
文字スパンをストリームに書き込みます。 |
Write(ReadOnlySpan<Char>) |
文字スパンをテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(Single) |
4 バイト浮動小数点値のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(String) |
ストリームに文字列を書き込みます。 |
Write(String, Object) |
Format(String, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列をストリームに書き込みます。 |
Write(String, Object) |
Format(String, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(String, Object, Object) |
メソッドと同じセマンティクスを使用して、書式設定された文字列をストリームに書き込み Format(String, Object, Object) ます。 |
Write(String, Object, Object) |
Format(String, Object, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(String, Object, Object, Object) |
Format(String, Object, Object, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列をストリームに書き込みます。 |
Write(String, Object, Object, Object) |
Format(String, Object, Object, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(String, Object[]) |
Format(String, Object[]) メソッドと同じセマンティクスを使用して、書式設定された文字列をストリームに書き込みます。 |
Write(String, Object[]) |
Format(String, Object[]) メソッドと同じセマンティクスを使用して、書式設定された文字列をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(StringBuilder) |
文字列ビルダーをテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(UInt32) |
4 バイト符号なし整数のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
Write(UInt64) |
8 バイト符号なし整数のテキスト表現をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteAsync(Char) |
文字を非同期でストリームに書き込みます。 |
WriteAsync(Char) |
文字をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteAsync(Char[]) |
文字配列をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteAsync(Char[], Int32, Int32) |
文字の部分配列をストリームに非同期で書き込みます。 |
WriteAsync(Char[], Int32, Int32) |
文字の部分配列をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
文字メモリ領域をストリームに非同期で書き込みます。 |
WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
文字メモリ領域をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteAsync(String) |
文字列をストリームに非同期で書き込みます。 |
WriteAsync(String) |
文字列をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteAsync(StringBuilder, CancellationToken) |
文字列ビルダーをテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLine() |
行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Boolean) |
|
WriteLine(Char) |
文字を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Char[]) |
文字配列を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Char[], Int32, Int32) |
文字の部分配列を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Decimal) |
10 進値のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Double) |
8 バイト浮動小数点値のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Int32) |
4 バイト符号付き整数のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Int64) |
8 バイト符号付き整数のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Object) |
オブジェクトで |
WriteLine(ReadOnlySpan<Char>) |
文字スパンのテキスト表現、続いて行終端記号をストリームに書き込みます。 |
WriteLine(ReadOnlySpan<Char>) |
文字スパンのテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(Single) |
4 バイト浮動小数点値のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(String) |
文字列を、続いて行終端記号をストリームに書き込みます。 |
WriteLine(String) |
文字列を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(String, Object) |
Format(String, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列と新しい行をストリームに書き込みます。 |
WriteLine(String, Object) |
Format(String, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列と新しい行をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(String, Object, Object) |
Format(String, Object, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列と新しい行をストリームに書き込みます。 |
WriteLine(String, Object, Object) |
Format(String, Object, Object) メソッドと同じセマンティクスを使用して、書式設定された文字列と新しい行をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(String, Object, Object, Object) |
Format(String, Object) と同じセマンティクスを使用して、書式設定された文字列と新しい行をストリームに書き込みます。 |
WriteLine(String, Object, Object, Object) |
Format(String, Object) と同じセマンティクスを使用して、書式設定された文字列と新しい行をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(String, Object[]) |
Format(String, Object) と同じセマンティクスを使用して、書式設定された文字列と新しい行をストリームに書き込みます。 |
WriteLine(String, Object[]) |
Format(String, Object) と同じセマンティクスを使用して、書式設定された文字列と新しい行をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(StringBuilder) |
文字列ビルダーのテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(UInt32) |
4 バイト符号なし整数のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLine(UInt64) |
8 バイト符号なし整数のテキスト表現を、続いて行終端記号をテキスト ストリームに書き込みます。 (継承元 TextWriter) |
WriteLineAsync() |
行終端記号をストリームに非同期で書き込みます。 |
WriteLineAsync() |
行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(Char) |
文字を、続いて行終端記号を非同期でストリームに書き込みます。 |
WriteLineAsync(Char) |
文字を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(Char[]) |
文字配列を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(Char[], Int32, Int32) |
文字の部分配列を、続いて行終端記号を非同期でストリームに書き込みます。 |
WriteLineAsync(Char[], Int32, Int32) |
文字の部分配列を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
文字メモリ領域のテキスト表現を、続いて行終端記号を非同期でストリームに書き込みます。 |
WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
文字メモリ領域のテキスト表現を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(String) |
文字列を、続いて行終端記号を非同期でストリームに書き込みます。 |
WriteLineAsync(String) |
文字列を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
WriteLineAsync(StringBuilder, CancellationToken) |
文字列ビルダーのテキスト表現を、続いて行終端記号をテキスト ストリームに非同期で書き込みます。 (継承元 TextWriter) |
明示的なインターフェイスの実装
IDisposable.Dispose() |
このメンバーの詳細については、「Dispose()」をご覧ください。 (継承元 TextWriter) |
拡張メソッド
ConfigureAwait(IAsyncDisposable, Boolean) |
非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。 |