FileStream fs = new FileStream(@"C:\test.txt", FileMode.Open, FileAccess.Read, FileShare.Read); int fieldsNum = Convert.ToInt32(fs.Length / 4); for (int m = 0; m < fieldsNum-1; m++)
{
byte[] buffer = new byte[4];
fs.Read(buffer, m * 4, 4);
} fs.Read(buffer, m * 4, 4);这句出错,请问是怎么回事
{
byte[] buffer = new byte[4];
fs.Read(buffer, m * 4, 4);
} fs.Read(buffer, m * 4, 4);这句出错,请问是怎么回事
解决方案 »
- 如何给一个控件的tag属性增加两个以上的值??
- 用vs2005 还是vs2008?
- C#中引用类型的问题
- <%# DataBinder.Eval(Container.DataItem,"字段名").ToString()%>
- 在做一个从网页上抓取重要数据的程序,请帮忙解决后面部分的难题,谢谢
- 请问怎样用asp.net将两张图片合成为一张图片.
- 已经第十次在CSDN提问了,怎么没有人可以回答我这个问题啊???为什么?
- 循环使用sqlDataAdapter1.Fill(dataSet1,"table")进行数据库操作后,报堆栈溢出?
- 创建MDI子窗口的问题
- 关于c#webbrowser获取不到无ID元素
- 求一个本地实例化类对象的方法
- ???联通宽带不能访问铁通服务器主机???
(readFileName, FileMode.Open, FileAccess.Read);
FileReadStream.Position = position;
fs.Read(buffer, m * 4, 4);
看清定义
//
// 摘要:
// 从流中读取字节块并将该数据写入给定缓冲区中。
//
// 参数:
// array:
// 此方法返回时包含指定的字节数组,数组中 offset 和 (offset + count - 1) 之间的值被从当前源中读取的字节替换。
//
// offset:
// array 中的字节偏移量,将在此处开始读取字节。
//
// count:
// 最多读取的字节数。
//
// 返回结果:
// 读入缓冲区中的总字节数。如果当前的字节数没有所请求那么多,则总字节数可能小于所请求的字节数;或者如果已到达流的末尾,则为零。
//
// 异常:
// System.ArgumentNullException:
// array 为 null。
//
// System.ArgumentOutOfRangeException:
// offset 或 count 为负。
//
// System.NotSupportedException:
// 流不支持读取。
//
// System.IO.IOException:
// 发生 I/O 错误。
//
// System.ArgumentException:
// offset 和 count 描述 array 中的无效范围。
//
// System.ObjectDisposedException:
// 在流关闭后调用方法。
public override int Read(byte[] array, int offset, int count);争取做法是:fs.Read(buffer, 0, 4);
正确做法是:fs.Read(buffer, 0, 4);
另外,要判断fs.Read的返回值看读取到的长度http://msdn.microsoft.com/zh-cn/library/system.io.filestream.read(v=VS.80).aspx
你的错误不在这里请参考4楼和7楼