この記事の英語版を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語
このドキュメントはアーカイブされており、メンテナンスされていません。

Stream クラス

バイト シーケンスのジェネリック ビューを提供します。

System.Object
  System.MarshalByRefObject
    System.IO.Stream
      詳細...

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Stream : MarshalByRefObject, 
	IDisposable

Stream 型で公開されるメンバーは以下のとおりです。

  名前説明
プロテクト メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifStream Stream クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifCanRead派生クラスでオーバーライドされた場合は、現在のストリームが読み取りをサポートするかどうかを示す値を取得します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifCanSeek派生クラスでオーバーライドされた場合は、現在のストリームがシークをサポートするかどうかを示す値を取得します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifCanTimeout現在のストリームがタイムアウトできるかどうかを決定する値を取得します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifCanWrite派生クラスでオーバーライドされた場合は、現在のストリームが書き込みをサポートするかどうかを示す値を取得します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifLength派生クラスでオーバーライドされた場合は、ストリームの長さをバイト単位で取得します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifPosition派生クラスでオーバーライドされた場合は、現在のストリーム内の位置を取得または設定します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifReadTimeoutストリームがタイムアウト前に読み取りを試行する期間を決定する値 (ミリ秒単位) を取得または設定します。
パブリック プロパティXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifWriteTimeoutストリームがタイムアウト前に書き込みを試行する期間を決定する値 (ミリ秒単位) を取得または設定します。
このページのトップへ

  名前説明
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifBeginRead非同期の読み込み動作を開始します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifBeginWrite非同期の書き込み操作を開始します。
パブリック メソッドXNA Framework によるサポートClose現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。
パブリック メソッドCopyTo(Stream)現在のストリームからバイトを読み取り、コピー先のストリームに書き込みます。
パブリック メソッドCopyTo(Stream, Int32)指定されたバッファー サイズを使用して、現在のストリームからすべてのバイトを読み取り、コピー先のストリームに書き込みます。
パブリック メソッドCreateObjRefリモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
プロテクト メソッドXNA Framework によるサポートCreateWaitHandle 互換性のために残されています。 WaitHandle オブジェクトを割り当てます。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifDispose() Stream によって使用されているすべてのリソースを解放します。
プロテクト メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifDispose(Boolean) Stream によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifEndRead保留中の非同期読み取りが完了するまで待機します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifEndWrite非同期書き込み操作を終了します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifFinalize オブジェクトがガベージ コレクションにより収集される前に、そのオブジェクトがリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifFlush派生クラスによってオーバーライドされた場合は、ストリームに対応するすべてのバッファーをクリアし、バッファー内のデータを基になるデバイスに書き込みます。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetLifetimeService対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドInitializeLifetimeService対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
プロテクト メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifMemberwiseClone() 現在の Object の浅いコピーを作成します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone(Boolean)現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。 (MarshalByRefObject から継承されます。)
プロテクト メソッドObjectInvariantインフラストラクチャ。 Contract のサポートを提供します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifRead派生クラスによってオーバーライドされた場合は、現在のストリームからバイト シーケンスを読み取り、読み取ったバイト数の分だけストリームの位置を進めます。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifReadByteストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifSeek派生クラスでオーバーライドされた場合は、現在のストリーム内の位置を設定します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifSetLength派生クラスでオーバーライドされた場合は、現在のストリームの長さを設定します。
パブリック メソッド静的メンバーSynchronized指定した Stream オブジェクトをラップするスレッド セーフな (同期された) ラッパーを作成します。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifToString 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifWrite派生クラスによってオーバーライドされた場合は、現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数の分だけストリームの現在位置を進めます。
パブリック メソッドXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifWriteByteストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーXNA Framework によるサポート8f86tw9e.PortableClassLibrary(ja-jp,VS.100).gifNullバッキング ストアを持たない Stream
このページのトップへ

ストリームには次の 3 つの基本的な操作が含まれます。

  1. ストリームからの読み込み。 この読み取りとは、ストリームからバイト配列などのデータ構造体にデータを転送することです。

  2. ストリームへの書き込み。 書き込みは、データ構造体からストリームへのデータ転送です。

  3. ストリームは、シークをサポートします。 シークとは、ストリーム内の現在位置を照会したり、変更したりすることです。 シーク機能は、ストリームが持つバッキング ストアの種類によって異なります。 たとえば、ネットワークのストリームは、現在位置という統一された概念を持たないため、通常はシークをサポートしません。

Stream は、すべてのストリームの抽象基本クラスです。 ストリームは、ファイル、入出力デバイス、プロセス間通信パイプ、TCP/IP ソケットなど、バイト シーケンスの抽象化です。 Stream クラスとその派生クラスは、これらのさまざまな種類の入出力のジェネリック ビューを提供します。これにより、プログラマはオペレーティング システムや基になるデバイスに固有のディテールを分離します。

基になるデータ ソースまたはリポジトリによっては、ストリームがサポートできる機能が上記の一部に限られる場合があります。 アプリケーションで CanRead プロパティ、CanWrite プロパティ、および CanSeek プロパティを使用することにより、ストリームの機能を問い合わせることができます。

Read メソッドおよび Write メソッドはさまざまな形式でデータの読み取りと書き込みをします。 シークをサポートするストリームの場合は、Seek メソッドや SetLength メソッド、および Position プロパティや Length プロパティを使用して、ストリームの現在位置および長さを問い合わせ、変更します。

ストリームの実装によっては、パフォーマンスの向上のために、基になるデータをローカルでバッファリングする場合があります。 このようなストリームでは、Flush メソッドを使用して内部バッファーをクリアし、すべてのデータが基になるデータ ソースやリポジトリに確実に書き込まれることを保証できます。

Stream Close を呼び出すと、基本的に Flush を呼び出してバッファー内のデータがフラッシュされます。 Close は、ファイル ハンドル、ネットワーク接続、内部バッファリングに使用されるメモリなどのオペレーティング システム リソースも解放します。 BufferedStream クラスは、読み取りと書き込みのパフォーマンスを向上させるために、バッファリングされたストリームを別のストリームでラッピングする機能を提供します。

バッキング ストア (ビット バケット) なしのストリームが必要な場合は、Null を使用します。

実装時の注意

Stream の派生クラスを実装するときは、Read メソッドおよび Write メソッドの実装を提供する必要があります。 非同期メソッド BeginReadEndReadBeginWrite、および EndWrite は、同期メソッド Read および Write を使用して実装します。 同様に、独自の Read および Write の実装は、非同期メソッドと共に正常に動作します。 ReadByte および WriteByte の既定の実装は、新しい単一要素のバイト配列を作成した後で、独自の Read および Write を呼び出します。 Stream から派生させるとき、内部バイト バッファーを使用する場合は、内部バッファーにアクセスするようにメソッドをオーバーライドすることを強くお勧めします。これにより、パフォーマンスが大幅に向上します。 CanRead CanSeekCanWriteFlushLengthPositionSeek、および SetLength も実装する必要があります。

Close メソッドをオーバーライドしないでください。代わりに、Dispose メソッドにすべての Stream クリーンアップ ロジックを組み込みます。 詳細については、「Dispose メソッドの実装」を参照してください。

TopicLocation
方法 : ファイルにテキストを書き込む.NET Framework: プログラミングの基礎
方法 : ファイルからテキストを読み取る.NET Framework: プログラミングの基礎
方法 : ファイルにテキストを書き込む.NET Framework : プログラミングの基礎
方法 : ファイルからテキストを読み取る.NET Framework : プログラミングの基礎

.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 システム要件」を参照してください。

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
表示: