我有一个这样的文本文件:
0124456, 10000,2
0124434, 10001,1
0126234, 10002,2
它有大约60-70行。我想在组合框项目中添加“0124456”,“0124434”和“0126234”。我只能用richtextbox来做这件事。它一直显示每行直到“,”但是当我保存它时,它只是逐行保存“0124456”,“0124434”和“0126234”,并且摆脱了“10000,2”等。
我的保存代码如下所示:
SaveFileDialog svf = new SaveFileDialog();
svf.Filter = "Text files (.csv)|*.csv";
svf.Title = "Save file...";
if (svf.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(svf.FileName);
string[] lines = richTextBox1.Text.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
sw.Write(line, Environment.NewLine);
}
richTextBox1.Clear();
sw.Close();
}
//and my open-read code is this:
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Text files (.csv)|*.csv";
ofd.Title = "Open a file...";
if (ofd.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(ofd.FileName);
string currentLine;
while ((currentLine = sr.ReadLine()) != null)
{
if (currentLine == null)
{
break;
}
else
{
string[] adat = currentLine.Split(',');
richTextBox1.AppendText(adat[0] + Environment.NewLine);
}
}
sr.Close();
}
所以我的目的是打开csv文件并将第一个“单词”添加到组合框项目中,编辑后我只保存编辑后的“单词”。
提前致谢!
答案 0 :(得分:0)
嗨,你的问题在于打开文件,因为你只显示了富文本框中的第一部分,这就是被保存回去的内容
richTextBox1.AppendText(adat[0] + Environment.NewLine);
如果你想保存所有的行,你必须全部显示。