我正在写一个文件流,当我要关闭文件时,我更新了文件的一些位置值,为此我读出FileStream.Position
,当文件大小为2 GB时,此值为负,如何是否可能对头寸有负值?
Folling是我正在使用的代码。
int SomePosition = 78;
long lastPos = _fileStream.Position;
_fileStream.Position = SomePosition;
byte[] bArray = BitConverter.GetBytes(someValue);
_fileStream.Write(bArray, 0, bArray.Length);
_fileStream.Position = lastPos;
在上面的代码中long lastPos = _fileStream.Position;
lastPos
变为否定。
答案 0 :(得分:2)
您是否尝试将值存储在int
变量中?
FileStream.Position
是long
,将值高于int.Maxvalue
投放到int
可能会产生负值。