c#如何快速读取大文件?

我有个一个20兆左右的文件,字节数是2288x2288x4,现在我想把它读取到一个2288x2288的二维数组里,应该怎么写比较合适?我这么写读起来很慢(最少好几十分钟)... 我有个一个20兆左右的文件,字节数是2288x2288x4,现在我想把它读取到一个2288x2288的二维数组里,应该怎么写比较合适?我这么写读起来很慢(最少好几十分钟):
int num = 2288;
float[,] floatArr = new float[num, num];
byte[] byData = new byte[num * num];
try
{
FileStream sFile = new FileStream(@"D:\data.dat", FileMode.Open);
sFile.Read(byData, 0, num * num);
}
catch (IOException e)
{
return;
}

for (int n = 0; n < byData.Length; n += 4)
{
byte[] newA = byData.Skip(n).Take(4).ToArray();
float sh = ByteToFloat(newA);
int i, j = 0;
//i是行,j是列
i = (int)(Math.Floor((n / 4) / (float)num));
j = (n / 4) % num;
floatArr[i, j] =sh;

}
展开
 我来答
内裤最大功能
2015-05-15 · TA获得超过3105个赞
知道大有可为答主
回答量:3202
采纳率:79%
帮助的人:472万
展开全部
你自己看一下byData.Length有多长。。。。主要是这个for循环费时间。

bydata数组本身里面就是字节了,干嘛要取出来节外生枝。
TableDI
2024-07-18 广告
在Excel中批量导入数据,可以采用以下步骤:1. 打开Excel,点击“数据”选项卡。2. 选择“获取数据”或“从文件”功能,然后选择“从文本/CSV”或“从文件夹”等选项,根据数据源类型进行选择。3. 在弹出的对话框中,浏览并找到包含数... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式