StreamReader コンストラクタ (String, Encoding, Boolean, Int32)
文字エンコーディング、バイト順マーク検出オプション、およびバッファ サイズを設定して、指定したファイル名の StreamReader クラスの新しいインスタンスを初期化します。
名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文
'宣言
Public Sub New ( _
path As String, _
encoding As Encoding, _
detectEncodingFromByteOrderMarks As Boolean, _
bufferSize As Integer _
)
'使用
Dim path As String
Dim encoding As Encoding
Dim detectEncodingFromByteOrderMarks As Boolean
Dim bufferSize As Integer
Dim instance As New StreamReader(path, encoding, detectEncodingFromByteOrderMarks, bufferSize)
public StreamReader (
string path,
Encoding encoding,
bool detectEncodingFromByteOrderMarks,
int bufferSize
)
public:
StreamReader (
String^ path,
Encoding^ encoding,
bool detectEncodingFromByteOrderMarks,
int bufferSize
)
public StreamReader (
String path,
Encoding encoding,
boolean detectEncodingFromByteOrderMarks,
int bufferSize
)
public function StreamReader (
path : String,
encoding : Encoding,
detectEncodingFromByteOrderMarks : boolean,
bufferSize : int
)
パラメータ
- path
読み込まれる完全なファイルパス。
- encoding
使用する文字エンコーディング。
- detectEncodingFromByteOrderMarks
ファイルの先頭にあるバイト順序マークを検索するかどうかを示します。
- bufferSize
最小バッファサイズ。単位は、16 ビット文字数です。
例外
例外の種類 | 条件 |
---|---|
path が空の文字列 ("") です。 |
|
path または encoding が null 参照 (Visual Basic では Nothing) です。 |
|
ファイルが見つかりません。 |
|
割り当てられていないドライブであるなど、指定されたパスが無効です。 |
|
path に、ファイル名、ディレクトリ名、またはボリューム ラベルとしては不正または無効な構文が含まれています。 |
|
buffersize の値が 0 以下です。 |
解説
このコンストラクタは、encoding パラメータの指定に従ってエンコーディングを初期化します。
このコンストラクタを使用すると、StreamReader オブジェクトからの最初の読み込みでエンコーディングを変更できます。detectEncodingFromByteOrderMarks パラメータは、ストリームの最初の 3 バイトを参照して、エンコーディングを検出します。ファイルが該当するバイト順序マークで開始される場合は、UTF-8、リトル エンディアン Unicode、ビッグ エンディアン Unicode の各テキストが自動的に認識されます。それ以外の場合は、ユーザー指定のエンコーディングが使用されます。詳細については、Encoding.GetPreamble メソッドのトピックを参照してください。
バッファサイズは、bufferSize パラメータを使用して 16 ビット文字数で設定します。bufferSize が許容最小サイズ (128 文字) より小さい場合は、許容最小サイズが使用されます。
path パラメータにはファイル名も指定できます。このファイルには、UNC 共有のファイルも含まれます。
path パラメータは、ディスクに格納されているファイルにする必要はありません。ストリームによるアクセスをサポートするシステム上の任意の部分を指定できます。
ヒント
特定のカルチャ設定で文字セットをコンパイルし、同じ文字を異なるカルチャ設定で取得すると、文字が正しく解釈されない場合があり、例外がスローされることもあります。
このメソッドの使用例については、「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク |
参考例があるトピック |
---|---|
テキスト ファイルを作成する。 |
|
テキスト ファイルに書き込む。 |
|
テキスト ファイルから読み取る。 |
|
テキストをファイルに追加する。 |
|
ファイルのサイズを取得する。 |
|
ファイルの属性を取得する。 |
|
ファイルの属性を設定する。 |
|
ファイルが存在するかどうかを判別する。 |
|
バイナリ ファイルから読み取る。 |
|
バイナリ ファイルに書き込む。 |
使用例
この StreamReader コンストラクタのコード例を次に示します。
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void GetNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.get_ASCII(), false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.get_ASCII(), false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.get_ASCII());
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile = new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 =
new StreamReader(((System.IO.Stream)
(File.OpenRead("C:\\Temp\\Test.txt"))),
System.Text.Encoding.get_ASCII(), false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse =
new StreamReader(((System.IO.Stream)
(File.OpenRead("C:\\Temp\\Test.txt"))),
System.Text.Encoding.get_ASCII(), false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream =
new StreamReader(((System.IO.Stream)
(File.OpenRead("C:\\Temp\\Test.txt"))),
System.Text.Encoding.get_ASCII());
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse =
new StreamReader(((System.IO.Stream)
(File.OpenRead("C:\\Temp\\Test.txt"))), false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream =
new StreamReader(((System.IO.Stream)
(File.OpenRead("C:\\Temp\\Test.txt"))));
} //GetNewStreamReader
プラットフォーム
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
参照
関連項目
StreamReader クラス
StreamReader メンバ
System.IO 名前空間
Encoding