我正在处理我的小应用程序,我需要从listview获取项目并将它们写入txt文件。有谁知道怎么做?请帮帮我。
=============================================== ==================================
例如: 在listview中
Name | Password
Me | YesNoYesNo
You | NoYesNoYEs
Everybody| YESNoYESNo
在档案中:
ME|YesNoYesNo \r\n
You|NoYESNoYES \r\n
...
修改 伙计们,我忘了告诉你我正在使用WPF。遗憾。
答案 0 :(得分:2)
这是一种老式的方式,并将分隔符包含在文件中:
using (StreamWriter writer = new StreamWriter(@"C:\Desktop\test.txt"))
{
StringBuilder line = new StringBuilder();
foreach (ListViewItem item in listView1.Items)
{
line.Clear();
for (int i=0; i<item.SubItems.Count; i++)
{
if (i > 0)
line.Append("|");
line.Append(item.SubItems[i].Text);
}
writer.WriteLine(line);
}
}
答案 1 :(得分:1)
关于这个...我希望它能帮到你......
在任何触发保存的事件上:打开文件,遍历列表内容,将文本写入文件,然后关闭文件。关闭当然可以通过使用:
完成using (var tw = new StreamWriter(filename)) {
foreach (ListViewItem item in listView.Items) {
tw.WriteLine(item.Text);
}
}
答案 2 :(得分:0)
您可以同时写入行或字节,关闭文件,否则有时更改不会反映:
string tmppath = @".....\temp.txt";
FileStream writefile = new FileStream(tmppath, FileMode.Open, FileAccess.Write);
//StreamWriter sw = new StreamWriter(writefile);//To write line
if (File.Exists(tmppath))
{
foreach (ListViewItem itm in listView1.Items)
{
writefile.Write(uniEncoding.GetBytes(f.Text), 0,uniEncoding.GetByteCount(itm.Text));
//OR
//sw.WriteLine(itm.Text);
}
writefile.Close();
//OR
//sw.Close();