2012-02-27 26 views
0

我已經嵌入資源nlog配置文件。 我想創建日誌文件到用戶指定的位置。 但是Nlog要求nlog配置文件存在於用戶指定的位置。 所以我想在創建nlog配置文件到用戶指定的位置之前,它開始寫日誌文件。 所以對於這個我已經嵌入資源nlog配置文件。但現在我的問題是如何將寫入這個嵌入式源代碼寫入用戶指定的位置。 我張貼我的代碼,我拿出如何從嵌入式源文件創建文件到用戶指定的位置?

Assembly _assembly; 
Stream _config; 
// StreamReader _textStreamReader; 
try 
{ 
     _assembly = Assembly.GetExecutingAssembly(); 
     _config = _assembly.GetManifestResourceStream("XXX.NLog.config"); 
     // _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("XXX.NLog.config")); 

     using (Stream output = File.Open(config.LogFileFolder, FileMode.Create)) 
     { 
       byte[] buffer = new byte[8 * 1024]; 
       int len; 
       while ((len = _config.Read(buffer, 0, buffer.Length)) > 0) 
       { 
         output.Write(buffer, 0, len); 
       } 
     } 

} 
catch 
{ 
     MessageBox.Show("Error accessing resources!"); 
} 

回答

0

使用的StreamReader的StreamWriter

實施例:

using (StreamReader reader = 
     new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(defaultContentResourceName))) 
    { 
     using (StreamWriter writer = new StreamWriter(targetPath)) 
     { 
      writer.Write(reader.ReadToEnd()); 
     } 
    } 
相關問題