2012-06-01 65 views
3

如何在資源文件中編寫字符串?我試過這段代碼,但是出現錯誤:「ArgumentException .Path包含無效字符。」如何在資源文件中編寫字符串?

StreamReader reader = new StreamReader(Auctions_Parser.Properties.Resources.Settings); 
       string content = reader.ReadToEnd(); 
       reader.Close(); 
       string ebay = ""; 

       if (checkBox1.Checked){ ebay = "1"; } else { ebay = "0"; } 
       content = Regex.Replace(content, @"Ebay&\d", "Ebay&"+ebay); 
       StreamWriter writer = new StreamWriter(Auctions_Parser.Properties.Resources.Settings); 
       writer.Write(content); 
       writer.Close(); 

SETTINGS.TXT內容:

SaveFolder&C:/Desktop/ 
Ebay&1 
Delcampe&1 
BidStart&1 
eBid&1 
Proxy&0 
OpenFolder&0 
TurnOff&0 

異常指示的第一行代碼(StreamReader reader = new StreamReader(Auctions_Parser.Properties.Resources.Settings);

+1

下一個合乎邏輯的步驟是......?右:向我們展示「Auctions_Parser.Properties.Resources.Settings」的內容!另外:寫作時不會發生異常,對吧?它在閱讀時已經發生。 –

+0

我想你想寫在Auctions_Parser.Properties.Resources.Settings裏面......你不能。您可以使用Resources.ResourceManager.GetStream()獲取資源流,但它不會保留在磁盤上(無論您的程序集是否會被簽名)。 –

+0

添加了Auctions_Parser.Properties.Resources.Settings的內容 – Daniel

回答

3

你不能寫任何東西到內嵌資源文件。您應該使用常規的WinApp設置,而不是編寫一個新的。

1

ResXResourceWriter以系統默認格式將資源寫入輸出文件或輸出流。

using System.Resources; 

    // Creates a resource writer. 
    IResourceWriter writer = new ResourceWriter("myResources.resources"); 

    // Adds resources to the resource writer. 
    writer.AddResource("String 1", "First String"); 

    writer.AddResource("String 2", "Second String"); 

    writer.AddResource("String 3", "Third String"); 

    // Writes the resources to the file or stream, and closes it. 
    writer.Close(); 
相關問題