我正在嘗試從使用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',然後*只是*取長度,然後再讀一遍?有很多簡單的方法來實現這個... –