private void addServerButton_Click(object sender, EventArgs e)
{
serverListBox.Items.Add(this.serverTextBox.Text);
string path = @"C:\\Public Key Pin\UserServerData.txt";
using (StreamWriter sw = File.CreateText(path))
{
sw.Write(this.serverTextBox.Text);
}
}
基本上我试图将其添加到服务器' ListBox(使用文本框和按钮)保存在文本文件中,以便用户可以“...负载'第二次使用应用程序时服务器列表,但是写入列表框的内容会覆盖文本文件中的上一项,因此当用户加载服务器列表(serverListBox)时,它只显示一个项目(用户添加到ListBox的最后一项)。
如何制作它以便在文本文件中自动创建一个新行以阻止项目被覆盖?
答案 0 :(得分:1)
使用
private void addServerButton_Click(object sender, EventArgs e)
{
serverListBox.Items.Add(this.serverTextBox.Text);
string path = @"C:\\Public Key Pin\UserServerData.txt";
File.AppendAllText(path, this.serverTextBox.Text+"\n");
}
如果要加载savefile的所有行:
// Add all lines to ListBox
serverListBox.Items.AddRange(File.ReadAllLines(@"C:\\Public Key Pin\UserServerData.txt"));
如果您只想要最后一行:
var lines = File.ReadAllLines(@"C:\\Public Key Pin\UserServerData.txt");
// Add last line to ListBox:
if (lines.Length > 0) serverListBox.Items.Add(lines[lines.Length - 1]);
答案 1 :(得分:0)
使用sw.AppendText(this.serverTextBox.Text);
代替
答案 2 :(得分:-1)
您应该使用:
string path = @"C:\\Public Key Pin\UserServerData.txt";
using (StreamWriter sw = File.CreateText(path))
{
sw.WriteLine(this.serverTextBox.Text);
}