streamとは? わかりやすく解説

Stream クラス

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

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public MustInherit Class
 Stream
    Inherits MarshalByRefObject
    Implements IDisposable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public abstract class Stream : MarshalByRefObject,
 IDisposable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class Stream abstract : public
 MarshalByRefObject, IDisposable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public abstract class Stream extends MarshalByRefObject
 implements IDisposable
SerializableAttribute 
ComVisibleAttribute(true) 
public abstract class Stream extends
 MarshalByRefObject implements IDisposable
解説解説

ファイル作成およびテキストファイルへの書き込み例については、「方法 : ファイルテキスト書き込む」を参照してくださいファイルからのテキスト読み取り例については、「方法 : ファイルかテキスト読み取る」を参照してくださいバイナリ ファイル読み取りおよび書き込み例については、「方法 : 新しく作成されデータ ファイルに対して読み書きする」を参照してください

ストリームには次の 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 メソッド実装提供する必要があります非同期メソッド BeginRead、EndRead、BeginWrite、および EndWrite は、同期メソッド Read および Write使用して実装ます。同様に、独自の Read および Write実装は、非同期メソッドと共に正常に動作します。ReadByte および WriteByte の既定実装は、新し単一要素バイト配列作成した後で、独自の Read および Write呼び出します。Stream から派生させるとき、内部バイト バッファ使用する場合は、内部バッファアクセスするようにメソッドオーバーライドすることを強くお勧めます。これにより、パフォーマンス大幅に向上しますCanReadCanSeekCanWriteFlushLengthPositionSeek、および SetLength実装する必要がありますClose メソッドオーバーライドしないでください代わりにDispose メソッドすべてのストリーム クリーンアップ ロジック組み込みます。詳細については、「Dispose メソッド実装」を参照してください

継承階層継承階層
System.Object
   System.MarshalByRefObject
    System.IO.Stream
       派生クラス
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Stream コンストラクタ


Stream フィールド


Stream プロパティ


Stream メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド BeginRead 非同期読み込み動作開始します
パブリック メソッド BeginWrite 非同期書き込み操作開始します
パブリック メソッド Close 現在のストリーム閉じ現在のストリーム関連付けられているすべてのリソース (ソケットファイル ハンドルなど) を解放します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose オーバーロードされます。 この Stream オブジェクトによって使用されているすべてのリソース解放します。
パブリック メソッド EndRead 保留中の非同期読み取り完了するまで待機します。
パブリック メソッド EndWrite 非同期書き込み操作終了します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド Flush 派生クラスによってオーバーライドされた場合は、ストリーム対応するすべてのバッファクリアし、バッファ内のデータを基になるデバイス書き込みます
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Read 派生クラスによってオーバーライドされた場合は、現在のストリームからバイト シーケンス読み取り読み取ったバイト数の分だけストリーム位置進めます
パブリック メソッド ReadByte ストリームから 1 バイト読み取りストリーム内の位置1 バイト進めますストリーム末尾場合は -1 を返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Seek 派生クラスオーバーライドされた場合は、現在のストリーム内の位置設定します
パブリック メソッド SetLength 派生クラスオーバーライドされた場合は、現在のストリーム長さ設定します
パブリック メソッド Synchronized 指定した Stream オブジェクトラップするスレッド セーフな (同期された) ラッパー作成します
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
パブリック メソッド Write 派生クラスによってオーバーライドされた場合は、現在のストリームバイト シーケンス書き込み書き込んだバイト数の分だけストリーム現在位置進めます
パブリック メソッド WriteByte ストリーム現在位置バイト書き込みストリーム位置1 バイトだけ進めます
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose  
参照参照

関連項目

Stream クラス
System.IO 名前空間
FileStream クラス
MemoryStream クラス
BufferedStream クラス

その他の技術情報

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

Stream メンバ

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

Stream データ型公開されるメンバを以下の表に示します


プロテクト コンストラクタプロテクト コンストラクタ
パブリック フィールドパブリック フィールド
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド BeginRead 非同期読み込み動作開始します
パブリック メソッド BeginWrite 非同期書き込み操作開始します
パブリック メソッド Close 現在のストリーム閉じ現在のストリーム関連付けられているすべてのリソース (ソケットファイル ハンドルなど) を解放します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose オーバーロードされます。 この Stream オブジェクトによって使用されているすべてのリソース解放します。
パブリック メソッド EndRead 保留中の非同期読み取り完了するまで待機します。
パブリック メソッド EndWrite 非同期書き込み操作終了します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド Flush 派生クラスによってオーバーライドされた場合は、ストリーム対応するすべてのバッファクリアし、バッファ内のデータを基になるデバイス書き込みます
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Read 派生クラスによってオーバーライドされた場合は、現在のストリームからバイト シーケンス読み取り読み取ったバイト数の分だけストリーム位置進めます
パブリック メソッド ReadByte ストリームから 1 バイト読み取りストリーム内の位置1 バイト進めますストリーム末尾場合は -1 を返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Seek 派生クラスオーバーライドされた場合は、現在のストリーム内の位置設定します
パブリック メソッド SetLength 派生クラスオーバーライドされた場合は、現在のストリーム長さ設定します
パブリック メソッド Synchronized 指定した Stream オブジェクトラップするスレッド セーフな (同期された) ラッパー作成します
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
パブリック メソッド Write 派生クラスによってオーバーライドされた場合は、現在のストリームバイト シーケンス書き込み書き込んだバイト数の分だけストリーム現在位置進めます
パブリック メソッド WriteByte ストリーム現在位置バイト書き込みストリーム位置1 バイトだけ進めます
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.IDisposable.Dispose  
参照参照

関連項目

Stream クラス
System.IO 名前空間
FileStream クラス
MemoryStream クラス
BufferedStream クラス

その他の技術情報

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


このページでは「.NET Framework クラス ライブラリ リファレンス」からstreamを検索した結果を表示しています。
Weblioに収録されているすべての辞書からstreamを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からstreamを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「stream」の関連用語

streamのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



streamのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS