このドキュメントはアーカイブされており、メンテナンスされていません。

FileStream.Read メソッド

ストリームからバイトのブロックを読み取り、そのデータを特定のバッファに書き込みます。

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

public override int Read (
	[InAttribute] [OutAttribute] byte[] array,
	int offset,
	int count
)
public int Read (
	/** @attribute InAttribute() */ /** @attribute OutAttribute() */ byte[] array, 
	int offset, 
	int count
)
public override function Read (
	array : byte[], 
	offset : int, 
	count : int
) : int

パラメータ

array

このメソッドが戻るとき、指定したバイト配列の offset から (offset + count - 1) までの値が、現在のソースから読み取られたバイトに置き換えられます。

offset

読み取りの開始位置を示す array 内のバイト オフセット。

count

読み取る最大バイト数。

戻り値

バッファに読み取られた合計バイト数。要求しただけのバイト数を読み取れなかった場合、この値は要求したバイト数より小さくなります。ストリームの末尾に到達した場合は 0 になることがあります。

例外の種類条件

ArgumentNullException

array が null 参照 (Visual Basic では Nothing) です。

ArgumentOutOfRangeException

offset または count が負の値です。

NotSupportedException

ストリームが読み取りをサポートしていません。

IOException

I/O エラーが発生しました。

ArgumentException

offsetcountarray の無効な範囲を示しています。

ObjectDisposedException

ストリームが閉じられた後でメソッドが呼び出されました。

このメソッドは、Read をオーバーライドします。

offset パラメータは読み取りを開始する位置の array のバイトのオフセット (バッファ インデックス) を指定し、count パラメータはこのストリームから読み取るバイトの最大数を指定します。戻り値は、実際に読み取ったバイト数であり、ストリームの末尾に到達している場合は 0 です。読み取り操作が正常に終了した場合、ストリームの現在位置は読み取ったバイト数だけ進みます。例外が発生した場合、ストリームの現在位置は変更されません。

Read メソッドは、ストリームの末尾に到達した後に必ず 0 を返します。それ以外の場合、Read は戻り値を返す前に常にストリームから少なくとも 1 バイトを読み取ります。Read の呼び出し時に利用できるデータがストリームにない場合、メソッドは少なくとも 1 バイトのデータを返すまでブロックします。メソッドの実装は、ストリームの末尾に到達していない場合でも、要求された数に満たないバイトを返すようにすることができます。

プリミティブ データ型を読み取る場合は BinaryReader を使用します。

その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク

参考例があるトピック

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

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

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

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

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

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

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

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

File.AppendText

FileInfo.AppendText

ファイルの名前を変更、またはファイルを移動する。

File.Move

FileInfo.MoveTo

ファイルをコピーする。

File.Copy

FileInfo.CopyTo

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

FileInfo.Length

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

File.GetAttributes

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

File.SetAttributes

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

File.Exists

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

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

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

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

ディレクトリを作成する。

Directory.CreateDirectory

Directory.CreateDirectory

既存ファイルから指定したバイト数を読み取る例を次に示します。

using System;
using System.IO;

class FSRead
{
    public static void Main()
    {
        //Create a file stream from an existing file.
        FileInfo fi=new FileInfo("c:\\csc.txt");       
        FileStream fs=fi.OpenRead();
        
        //Read 100 bytes into an array from the specified file.
        int nBytes=100;
        byte[] ByteArray=new byte[nBytes];
        int nBytesRead=fs.Read(ByteArray, 0, nBytes);
        Console.WriteLine("{0} bytes have been read from the specified file.", nBytesRead.ToString());
    }
}

import System.*;
import System.IO.*;

class FSRead
{
    public static void main(String[] args)
    {
        //Create a file stream from an existing file.
        FileInfo fi = new FileInfo("c:\\csc.txt");
        FileStream fs = fi.OpenRead();

        //Read 100 bytes into an array from the specified file.
        int nBytes = 100;
        ubyte byteArray[] = new ubyte[nBytes];
        int nBytesRead = fs.Read(byteArray, 0, nBytes);
        Console.WriteLine("{0} bytes have been read from the specified file.",
            ((Int32)nBytesRead).ToString());
    } //main
} //FSRead

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
表示: