2014-01-12 100 views
0

我試圖列出一些東西,人們可以放在那裏就像購物清單,但我的程序無法訪問C:\驅動器,所以我決定把它放到資源文件夾中,但是那沒有工作的人有任何想法如何讓工作/ ??vb.net讀取和寫入文本文件裏面的資源

我的代碼:

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 

這對我來說沒有工作。 任何幫助都是合適的y =謝謝

+3

你曾說過兩次「沒有工作」,但你沒有說出「沒有工作」的含義。它以什麼方式不起作用?你清楚地知道什麼是行不通的,因爲你在這裏張貼並說了這樣的話。爲什麼不在我們的帖子中分享這些信息?我們無法看到您的屏幕或閱讀您的想法。如果您希望我們幫助您,*請提供您已擁有的信息*,以便於您做到這一點。如果出現錯誤,請包含**確切的錯誤消息*。如果某些東西不起作用,請以何種方式解釋不起作用。 –

回答

1

應用程序沒有「資源文件夾」。你的項目有這樣一個文件夾,因爲這是存儲源項目的地方,但整個資源點是他們將數據編譯到EXE本身。因此,它們是隻讀的。如果您想要一個所有用戶都可以安全寫入的公共位置,然後使用公共文檔文件夾。

至於你的代碼,如果你添加一個文件到你的資源中,那麼這個文件的內容被編譯到EXE中並通過My.Resources返回。在運行時沒有文件,因此在運行時沒有文件路徑,所以您嘗試創建StreamReader和StreamWriter必將失敗。我假設你已經添加了一個文本文件作爲資源。在這種情況下,My.Resources.FavoriteList將以字符串形式返回該文件的內容。您可以使用該數據,但無法對其進行修改並將更改保存回資源,因爲該資源是您的EXE的一部分。