我正在尝试从使用C#的txt文件读取和写入。目前,我正在编写一个程序,该程序读取列表中的名称,向用户显示它们,请求另一个名称,然后将该名称添加到列表中。阅读很好,但写作存在一些问题。从txt文件读取和写入
代码编译罚款使用CSC,它执行罚款,但之后我键入名称添加并按下回车键,我得到一个窗口弹出称
FileIO.exe遇到问题和需要关闭。
任何想法是什么问题是?
using System;
using System.IO;
public class Hello1
{
public static void Main()
{
int lines = File.ReadAllLines("Name.txt").Length;
string[] stringArray = new string[lines + 1];
StreamReader reader = new StreamReader("Name.txt");
for(int i = 1;i <=lines;i++){
stringArray[i-1] = reader.ReadLine();
}
for (int i = 1;i <=stringArray.Length;i++){
Console.WriteLine(stringArray[i-1]);
}
Console.WriteLine("Please enter a name to add to the list.");
stringArray[lines] = Console.ReadLine();
using (System.IO.StreamWriter writer = new System.IO.StreamWriter("Name.txt", true)){
writer.WriteLine(stringArray[lines]);
}
}
}
也使用'using'语句给读者。 '使用(var reader = new StreamReader(“Name.txt”)){...}' –
在你重新打开它之前关闭流。更好地使用“使用”语句 –
为什么你使用'File.ReadAllLines',然后*只是*取长度,然后再读一遍?有很多简单的方法来实现这个... –