2012-06-01 3 views
3

리소스 파일에 문자열을 쓰는 방법은 무엇입니까? 이 코드를 시도했지만 오류가 발생했습니다 : "ArgumentException. 경로에 잘못된 문자가 있습니다."리소스 파일에 문자열을 쓰는 방법은 무엇입니까?

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 설정을 사용하는 대신 새로운 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(); 
관련 문제