PC Review Forums Newsgroups Microsoft DotNet Microsoft Dot NET Compact Framework Problem with random access files (bug?)

Reply

Problem with random access files (bug?)

 
Thread Tools Rate Thread
Old 26-04-2008, 09:15 PM   #1
Erel
Guest
 
Posts: n/a
Default Problem with random access files (bug?)


There seems to be a problem in the .Net CF 2.0 (and 1.0) regarding
random access files.
After several usages of FileStream.Seek and FileStream.Read, wrong
values are returned.
The code from this post demonstrates this problem:
http://groups.google.com/group/micr...27be7bd89798b3b

//create the test file
using (FileStream stream = new FileStream(@"test.dat",
FileMode.Create))
{
for (int i = 0; i < 1000; ++i)
{
stream.WriteByte((byte)(i % 256));
}
}

// demonstrate issue
using
(
FileStream stream = new FileStream(
@"test.dat", FileMode.Open,
FileAccess.Read, FileShare.Read, 128
)
)
{
byte[] buffer = new byte[500];
stream.Read(buffer, 0, 252);
stream.Read(buffer, 0, 102);
stream.Read(buffer, 0, 5);
stream.Read(buffer, 0, 63);
stream.Read(buffer, 0, 39);
stream.Read(buffer, 0, 34);
stream.Read(buffer, 0, 73);
stream.Read(buffer, 0, 73);
stream.Read(buffer, 0, 73);
stream.Read(buffer, 0, 73);


long pos = stream.Position;

stream.Read(buffer, 0, 73);
MessageBox.Show("Position: " + pos.ToString() + ",
value: " + buffer[0].ToString()
,"Should show 19");


stream.Seek(pos, SeekOrigin.Begin);

stream.Read(buffer, 0, 73);
MessageBox.Show("Position: " + pos.ToString() + ",
value: " + buffer[0].ToString()
,"Should show 19, shows 1 instead");
}

Same code works fine on the desktop.
Is this a known bug or limitation?
  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off