我试图在不使用Serialize的情况下将简单列表保存到文件中。这可能吗?
public partial class Form1 : Form
{
public List<string> _testList = new List<string>();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int _add = 0;
string _addString ="";
for (int i = 0; i < 5; i++)
{
_add =+ i;
_addString = Convert.ToString(_add);
_testList.Add(_addString);
}
TextWriter tw = new StreamWriter("SavedList.txt", true);
foreach (string s in _testList)
tw.WriteLine(s);
tw.Close();
StreamReader streamReader = new StreamReader("SavedList.txt");
// Read the data to the end of the stream.
listBox1.Text = streamReader.ReadToEnd();
// Close the text stream reader.
streamReader.Close();
// Close the file stream.
//fileStream.Close();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
}
这不会发出任何错误,但它什么都不做。
如果有必要,我会使用Serialize,但怀疑是没有必要的。是吗?
答案 0 :(得分:2)
您可以使用File
类来实现此目的。
File.WriteAllLines("SavedList.txt", _testList.ToArray());
要阅读它,您可以使用:
string[] lines = File.ReadAllLines("SavedList.txt");
foreach (string line in lines)
listBox1.Items.Add(line);
答案 1 :(得分:2)
您的问题是Text
的{{1}}字段
不会那样工作。
变化:
ListBox
为:
listBox1.Text = streamReader.ReadToEnd();
“文本”字段包含当前选定的文本。它不是用于向列表中添加项目。