BinaryReader.BaseStream プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)


![]() |
---|
読み取り中または BinaryReader の使用中に基になるストリームを使用すると、データの損失や破損の原因になることがあります。たとえば、同じバイトが 2 回以上読み取られたり、バイトが読み飛ばされたり、文字の読み取りが予期しない結果になることがあります。 |
その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

次に示すのは、MemoryStream クラス上で BinaryReader クラスと BinaryWriter クラスを使用し、メモリに対して Double データの読み取りと書き込みを実行するコード例です。MemoryStream は Byte データだけを読み書きします。
Imports System Imports System.IO Public Class BinaryRW Shared Sub Main() Dim i As Integer Const upperBound As Integer = 1000 ' Create random data to write to the stream. Dim dataArray(upperBound) As Double Dim randomGenerator As New Random() For i = 0 To upperBound dataArray(i) = 100.1 * randomGenerator.NextDouble() Next i Dim binWriter As New BinaryWriter(New MemoryStream()) Try ' Write data to the stream. Console.WriteLine("Writing data to the stream.") For i = 0 To upperBound binWriter.Write(dataArray(i)) Next i ' Create a reader using the stream from the writer. Dim binReader As New BinaryReader(binWriter.BaseStream) ' Return to the beginning of the stream. binReader.BaseStream.Position = 0 ' Read and verify the data. Try Console.WriteLine("Verifying the written data.") For i = 0 To upperBound If binReader.ReadDouble() <> dataArray(i) Then Console.WriteLine("Error writing data.") Exit For End If Next i Console.WriteLine("The data was written and verified.") Catch ex As EndOfStreamException Console.WriteLine("Error writing data: {0}.", _ ex.GetType().Name) End Try Finally binWriter.Close() End Try End Sub End Class
using System; using System.IO; class BinaryRW { static void Main() { int i; const int arrayLength = 1000; // Create random data to write to the stream. Random randomGenerator = new Random(); double[] dataArray = new double[arrayLength]; for(i = 0; i < arrayLength; i++) { dataArray[i] = 100.1 * randomGenerator.NextDouble(); } using(BinaryWriter binWriter = new BinaryWriter(new MemoryStream())) { // Write the data to the stream. Console.WriteLine("Writing data to the stream."); for(i = 0; i < arrayLength; i++) { binWriter.Write(dataArray[i]); } // Create a reader using the stream from the writer. using(BinaryReader binReader = new BinaryReader(binWriter.BaseStream)) { try { // Return to the beginning of the stream. binReader.BaseStream.Position = 0; // Read and verify the data. Console.WriteLine("Verifying the written data."); for(i = 0; i < arrayLength; i++) { if(binReader.ReadDouble() != dataArray[i]) { Console.WriteLine("Error writing data."); break; } } Console.WriteLine("The data was written " + "and verified."); } catch(EndOfStreamException e) { Console.WriteLine("Error writing data: {0}.", e.GetType().Name); } } } } }
using namespace System; using namespace System::IO; int main() { int i; const int arrayLength = 1000; // Create random data to write to the stream. array<double>^dataArray = gcnew array<double>(arrayLength); Random^ randomGenerator = gcnew Random; for ( i = 0; i < arrayLength; i++ ) { dataArray[ i ] = 100.1 * randomGenerator->NextDouble(); } BinaryWriter^ binWriter = gcnew BinaryWriter( gcnew MemoryStream ); try { // Write data to the stream. Console::WriteLine( "Writing data to the stream." ); i = 0; for ( i = 0; i < arrayLength; i++ ) { binWriter->Write( dataArray[ i ] ); } // Create a reader using the stream from the writer. BinaryReader^ binReader = gcnew BinaryReader( binWriter->BaseStream ); // Return to the beginning of the stream. binReader->BaseStream->Position = 0; try { // Read and verify the data. i = 0; Console::WriteLine( "Verifying the written data." ); for ( i = 0; i < arrayLength; i++ ) { if ( binReader->ReadDouble() != dataArray[ i ] ) { Console::WriteLine( "Error writing data." ); break; } } Console::WriteLine( "The data was written and verified." ); } catch ( EndOfStreamException^ e ) { Console::WriteLine( "Error writing data: {0}.", e->GetType()->Name ); } } finally { binWriter->Close(); } }
import System.*; import System.IO.*; class BinaryRW { public static void main(String[] args) { int i; final int arrayLength = 1000; // Create random data to write to the stream. Random randomGenerator = new Random(); double dataArray[] = new double[arrayLength]; for(i = 0;i < arrayLength;i++) { dataArray[i] = 100.1*randomGenerator.NextDouble() ; } BinaryWriter binWriter = new BinaryWriter(new MemoryStream()); try { // Write the data to the stream. Console.WriteLine("Writing data to the stream."); for(i = 0;i < arrayLength;i++) { binWriter.Write(dataArray [ i]); } // Create a reader using the stream from the writer. BinaryReader binReader = new BinaryReader(binWriter.get_BaseStream()); try { try { // Return to the beginning of the stream. binReader.get_BaseStream().set_Position(0); // Read and verify the data. Console.WriteLine("Verifying the written data."); for(i = 0;i < arrayLength;i++) { if ( binReader.ReadDouble() != dataArray[i] ) { Console.WriteLine("Error writing data."); break; } } Console.WriteLine(("The data was written " + "and verified.")); } catch(EndOfStreamException e) { Console.WriteLine("Error writing data: {0}.", e.GetType().get_Name()); } } finally { if (binReader != null) { binReader = null; } } } finally { if (binWriter != null) { binWriter = null; } } } //main } //BinaryRW

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からBinaryReader.BaseStream プロパティを検索する場合は、下記のリンクをクリックしてください。

- BinaryReader.BaseStream プロパティのページへのリンク