См. Код ниже. В вашем оригинале было несколько ошибок:
Вы закрываете txt
внутри цикла, используемого для записи элементов списка в текстовый файл.
Вам не нужно \n
в txt.WriteLine("\n" + item.ToString());
. WriteLine
обеспечивает перевод строки
Вам необходим цикл для чтения текстового файла и повторного добавления каждой строки обратно в список
Я предлагаю вам использовать using
, чтобы обеспечить закрытие файлов и удаление объектов в случае сбоя программы по какой-либо причине
Примечание: я добавил " text from file"
к тексту, добавленному обратно в список, чтобы продемонстрировать, что список был загружен из текстового файла
listBox1.Items.Add("Item1");
listBox1.Items.Add("Item2");
using (TextWriter txt = new StreamWriter("IP.txt"))
{
foreach (var item in listBox1.Items)
{
txt.WriteLine(item.ToString());
}
}
listBox1.Items.Clear();
using (StreamReader inputFile = File.OpenText("IP.txt"))
{
while (!inputFile.EndOfStream)
{
listBox1.Items.Add(inputFile.ReadLine() + " text from file");
}
}