无法在流的结尾进行读取 什么意思
1个回答
2017-04-27 · 知道合伙人软件行家
关注
展开全部
象你这种无法确认文件大小的,就不要去用按数组的大小去读取文件,否则如果你的lst.dat中没有710*610个数据就必然出错,考虑改成(我不清楚你原本的piexl数组是否一定是固定的710x610还是说随着dat中的数据数量变动的,如果是变动的,那就是下面的)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//代码未经测试
List<List<double>> piexl=new List<List<double>>();
using (FileStream fs = new FileStream("LST.dat", FileMode.Open, FileAccess.Read))
{
using (BinaryReader px = new BinaryReader(fs))
{
List<double> list=new List<double>();
int col=0;
while(px.BaseStream.Position < px.BaseStream.Length)
{
double d=px.ReadDouble();
Console.WriteLine(d);
col++;
list.Add(d);
if(col % L==0) {piexl.Add(list);list.Clear();}
}
if(list.Count>0) piexl.Add(list);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//代码未经测试
List<List<double>> piexl=new List<List<double>>();
using (FileStream fs = new FileStream("LST.dat", FileMode.Open, FileAccess.Read))
{
using (BinaryReader px = new BinaryReader(fs))
{
List<double> list=new List<double>();
int col=0;
while(px.BaseStream.Position < px.BaseStream.Length)
{
double d=px.ReadDouble();
Console.WriteLine(d);
col++;
list.Add(d);
if(col % L==0) {piexl.Add(list);list.Clear();}
}
if(list.Count>0) piexl.Add(list);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询