Witam,
mam plik binarny ok 850MB.
Zapisane tam obiekty to struktura zawierająca 4 liczby float.
Aktualnie kod wygląda tak:
static void Main(string[] args)
{
string filePath = @"D:\data.bin";
//Open the stream and read it back.
using (FileStream fs = File.OpenRead(filePath))
{
byte[] b = new byte[16];
BinaryReader _br = new BinaryReader(fs);
while ((b = _br.ReadBytes(16)).Length > 0)
{
float v1 = BitConverter.ToSingle(b, 0);
float v2 = BitConverter.ToSingle(b, 4);
float v3 = BitConverter.ToSingle(b, 8);
float v4 = BitConverter.ToSingle(b, 12);
Console.WriteLine("value: " + v1 + " " + v2 + " " + v3 + " " + v4);
}
}
}
- Pytanie - jak można by przerobić kod aby metoda działała szybciej (jakieś czytanie kawałkami do bufora)?
- W związku z tym że plik z danymi jest spory, chciałbym aby po odczytaniu np. 10000 obiektów wywoływać inną metodę, która przetwarzała by odczytane dane.
Pozdrawiam.