C#读取文本文件内容存入数组,现有代码报错如何解决?
错误原因
- 你当前代码仅调用了一次
ReadLine(),只读取了文件第一行内容,完全没有读取第二行的数组数值,和你描述的「第一行存长度、第二行存数值」的文件格式不匹配 - 流资源没有做安全释放,遇到运行异常时会出现资源泄漏问题
- 逻辑错误地假设数组长度和所有数值都在同一行,会触发数组索引越界异常
正确实现代码
public static void Main() { // 使用using自动释放读写流资源,不需要手动调用Close using StreamReader plik_wejsciowy = new StreamReader("In0201.txt"); using StreamWriter plik_wyjsciowy = new StreamWriter("Out0201.txt"); // 读第一行获取数组长度 int n = int.Parse(plik_wejsciowy.ReadLine().Trim()); int[] tab = new int[n]; // 读第二行拆分获取所有数值 string[] wartosci = plik_wejsciowy.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries); // 存入数组 for (int i = 0; i < n; i++) { tab[i] = int.Parse(wartosci[i]); } // 后续可在这里添加数组的业务处理逻辑,再写入输出文件即可 }
内容的提问来源于stack exchange,提问作者Robert Pietraszewski
相关产品推荐
相关产品推荐

