如何将 ListBox 项目写入文本文件?

问题描述 投票:0回答:3

标题基本上说明了一切。我正在尝试将 Visual Studio 中的列表框转换为文本文件。我用 C# 来做这件事,因为它是我最熟悉的语言。

我想我的代码可以工作,但由于某种原因,它不能工作。这是我到目前为止的代码:

System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(@"C:\WhosTalking\List.txt");
foreach (var item in list.Items)
{
    SaveFile.WriteLine(item.ToString());
}

任何帮助将不胜感激!

c# file-io listbox
3个回答
2
投票

类似这样的事情

File.WriteAllLines("SomePath",listBox1.Items.Cast<string>());

Enumerable.Cast(IEnumerable) 方法

将 IEnumerable 的元素转换为指定类型。

File.WriteAllLines方法

创建一个新文件,向该文件写入一个或多个字符串,然后 关闭文件。


1
投票

欢迎来到 StackOverflow!

我只是运行了一个非常简单的示例,除了使用

using
之外,因为
StreamWriter
是一次性对象,一切都很顺利......我只是想知道 是否有权限写入
C:
驱动器,正如TheGeneral提到的,你确实需要关闭文件,因此我使用了
using
语句,因为它会一次性关闭并处理对象。

我的简单例子:

enter image description here

文件写入的位置是:

private void btnSave_Click(object sender, EventArgs e)
{
    using (System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(@"D:\List.txt"))
    {
        foreach (var item in listBox.Items)
        {
            SaveFile.WriteLine(item.ToString());
        }
    }
}

0
投票
                writer = File.AppendText(saveFileDialog.FileName);
                foreach (var item in lbxTekstVak.Items)
                {
                    if (item != null) 
                    {
                        writer.WriteLine(item.ToString());
                    }
                    else
                    {
                        writer.WriteLine("empty item");
                    }
                }
© www.soinside.com 2019 - 2024. All rights reserved.