What's the best way to read/write array contents from/to binary files in C#?
Posted
by Eric
on Stack Overflow
See other posts from Stack Overflow
or by Eric
Published on 2010-04-08T14:31:49Z
Indexed on
2010/04/08
14:33 UTC
Read the original article
Hit count: 387
I would like to read and write the contents of large (> 2GB), raw volume files (e.g. MRI scans). These files are just a sequence of e.g. 32 x 32 x 32 floats so they map well to 1D arrays. I would like to be able to read the contents of the binary volume files into 1D arrays of e.g. float or ushort (depending on the data type of the binary files) and similarly export the arrays back out to the raw volume files.
What's the best way to do this with C#? Read/Write them 1 element at a time with BinaryReader/BinaryWriter? Read them piece-wise into byte arrays with FileStream.Read and then do a System.Buffer.BlockCopy between arrays (keeping in mind that I want > 2GB arrays)? Write my own Reader/Writer?
© Stack Overflow or respective owner