FileStream.Position返回负值

时间:2013-09-05 08:20:40

标签: c# filestream

我正在写一个文件流,当我要关闭文件时,我更新了文件的一些位置值,为此我读出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变为否定。

1 个答案:

答案 0 :(得分:2)

您是否尝试将值存储在int变量中?

FileStream.Positionlong,将值高于int.Maxvalue投放到int可能会产生负值。