vb.net读取和写入资源内的文本文件

时间:2014-01-12 22:06:24

标签: vb.net listbox resources

我试图制作一个列表,其中包含人们可以放在那里的东西,如购物清单,但我的程序无法访问C:\驱动器,所以我决定将它放入资源文件夹但是没有工作有人知道如何让它是工作/ ??

我的代码:

    Private Sub ThirteenButton14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThirteenButton14.Click
    ListBox1.Items.Remove(ListBox1.SelectedItem)
    Dim i As Integer
    w = New IO.StreamWriter(My.Resources.FavoriteList)
    For i = 0 To ListBox1.Items.Count - 1
        w.WriteLine(ListBox1.Items.Item(i))
    Next
    w.Close()
    ListBox1.Items.Clear()
    R = New IO.StreamReader(My.Resources.FavoriteList)
    While (R.Peek() > -1)
        ListBox1.Items.Add(R.ReadLine)
    End While
    R.Close()
End Sub

Private Sub ThirteenButton13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ThirteenButton13.Click
    ListBox1.Items.Add(ThirteenTextBox6.Text + "   |   " + ThirteenTextBox7.Text)
    ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
    Dim i As Integer
    w = New IO.StreamWriter(My.Resources.FavoriteList)
    For i = 0 To ListBox1.Items.Count - 1
        w.WriteLine(ListBox1.Items.Item(i))
    Next
    w.Close()
    ListBox1.Items.Clear()
    R = New IO.StreamReader(My.Resources.FavoriteList)
    While (R.Peek() > -1)
        ListBox1.Items.Add(R.ReadLine)
    End While
    R.Close()
End Sub

这对我没用。 任何帮助都是apreciated y = thanks

1 个答案:

答案 0 :(得分:1)

应用程序没有“资源文件夹”。您的项目有这样一个文件夹,因为这是源项目的存储位置,但资源的全部意义在于它们是编译到EXE本身的数据。因此,它们是只读的。如果您想要一个所有用户都可以安全写入的公共位置,那么请使用公共文档文件夹。

至于你的代码,如果你向你的资源添加一个文件,那么它就是那个被编译到EXE并通过My.Resources返回的文件的内容。运行时没有文件,因此在运行时没有文件路径,因此创建StreamReader和StreamWriter的尝试将失败。我假设您已添加文本文件作为资源。在这种情况下,My.Resources.FavoriteList将以String形式返回该文件的内容。您可以使用该数据,但无法对其进行修改并将更改保存回资源,因为该资源是EXE的一部分。