从一个文本文件创建2个数组
本文关键字:文本 文件创建 2个 数组 一个 | 更新日期: 2023-09-27 17:59:30
我有一个巨大的文本文件(33 mb,编码为Unicode,FSO为"TristateTrue"),我想把它放入两个不同的C#数组中。
文本文件中的行格式如下:
40 TAB 10 TAB 15 TAB 7 TAB 8
65 TAB 2 TAB 9 TAB 3 TAB 6
30 TAB 89 TAB 11 TAB 5 TAB 14
第一个C#数组应该读取以下内容:
int[] outputs=new int[iLineCount+1];
outputs[0] = 40;
outputs[1] = 65;
outputs[2] = 30;
而其他C#数组应该如下所示:
int[][] inputs = new int[3][];
inputs[0] = new int[5];
inputs[1] = new int[5];
inputs[2] = new int[5];
inputs[0][0] = 10;
inputs[0][1] = 15;
inputs[0][2] = 7;
inputs[0][3] = 8;
inputs[1][0] = 2;
inputs[1][1] = 9;
inputs[1][2] = 3;
inputs[1][3] = 6;
inputs[2][0] = 89;
inputs[2][1] = 11;
inputs[2][2] = 5;
inputs[2][3] = 14;
我觉得这真的很难。如果有人能帮忙,我会非常感激。
非常感谢!
注意:TAB表示制表符字符,行由NewLine字符"分隔"
只是为了让你开始:
using (FileStream fileStream = new FileStream("filename", FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (StreamReader streamReader = new StreamReader(fileStream))
{
while (streamReader.Peek() > -1)
{
string line = streamReader.ReadLine();
string[] parts = line.Split(''t');
outputs[lineCounter] = int.Parse(parts[0]);
inputs[lineCounter] = new int[4];
inputs[lineCounter][0] = int.Parse(parts[1]);
inputs[lineCounter][1] = int.Parse(parts[2]);
inputs[lineCounter][2] = int.Parse(parts[3]);
inputs[lineCounter][3] = int.Parse(parts[4]);
lineCounter++;
}
}
}
请记住,此代码不会捕获异常或检查有效数据。我把这件事留给你。
查看方法File.ReadAllLines
和String.Split
它们加在一起,应该会给你一个很好的起点。