problem to read binary file

Q

Quinn

Hi all,

I have some binary files in the following format:

text line 1
text line 2
....
text line N
end of text
single in binary 1 single in binary 2 single N EOF


what I want to do is, to read text line by line until reached "end of text",
the start read binary numbers.

I start with a binaryreader

br.readstring until regex.ismatch(br.readstring) is true, then start
readsingle.

the problem is, the binary files were generated from VB6 program, the
br.readstring length does not match the VB6 string length. so sometimes the
"end of text" cannot be found.


I also think I can use a stream read to read the text first, then use the
binaryreader to read the binary part. but I cannot find the location where
the binary started.

Please help.

Quinn
 
M

Mythran

Quinn said:
Hi all,

I have some binary files in the following format:

text line 1
text line 2
...
text line N
end of text
single in binary 1 single in binary 2 single N EOF


what I want to do is, to read text line by line until reached "end of
text", the start read binary numbers.

I start with a binaryreader

br.readstring until regex.ismatch(br.readstring) is true, then start
readsingle.

the problem is, the binary files were generated from VB6 program, the
br.readstring length does not match the VB6 string length. so sometimes
the "end of text" cannot be found.


I also think I can use a stream read to read the text first, then use the
binaryreader to read the binary part. but I cannot find the location where
the binary started.

Please help.

Quinn

Suggestion:

Read the file into a byte-array. Convert each byte in the array into a
string, one byte at a time and append to a string. If the string ends with
(EndsWith method) "end of text", then you have reached the start of the
binary data :)

HTH,
Mythran
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top