Элементы списка нескольких столбцов в файл - PullRequest
1 голос
/ 15 октября 2011

Я работаю над своим небольшим приложением, и мне нужно получить элементы из списка и записать их в текстовый файл.Кто-нибудь знает, как это сделать?Пожалуйста, помогите мне.

=============================================================================================

Например:В списке

Name     | Password
Me       | YesNoYesNo
You      | NoYesNoYEs
Everybody| YESNoYESNo

В файле:

ME|YesNoYesNo \r\n
You|NoYESNoYES \r\n

...

РЕДАКТИРОВАТЬ: Ребята, я забыл сказать вам, что я используюWPF.К сожалению.

Ответы [ 3 ]

2 голосов
/ 15 октября 2011

Вот старый способ сделать это и включить разделители в файл:

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 голос
/ 15 октября 2011

КАК об этом ... Надеюсь, это поможет вам ...

При любом событии, которое приведет к сохранению: откройте файл, переберите содержимое списка, записав текст в файл, а затем закройте файл. Закрытие можно, конечно, сделать с помощью:

using (var tw = new StreamWriter(filename)) {
     foreach (ListViewItem item in listView.Items) {
     tw.WriteLine(item.Text); 
  }
}
0 голосов
/ 16 апреля 2013

Вы можете написать как строку, так и байты, закрыть файл, иначе иногда изменение не будет отражаться:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...