2013-10-07 172 views
0

我想寫入文件系統中的目錄C:\目錄名,目前我有這樣的代碼:寫目錄中的文件系統

if (! System.IO.File.Exists (HttpContext.Current.Server.MapPath (filename))) 
{ 
    TXTFile = new System.IO.StreamWriter (HttpContext.Current.Server.MapPath (filename)); 
} 
else 
{ 
    TXTFile = System.IO.File.AppendText (HttpContext.Current.Server.MapPath (filename)); 
} 

但這種方式在寫應用程序文件夾。 如何解決它?

+0

如果你已經有一個c:\像路徑,你不需要使用mappath。當你有一個服務器路徑時需要使用Mappath,並且需要使用ac:\ like path ... –

+0

另外,由於這看起來是一個ASP.NET應用程序,因此您可能無法訪問您嘗試寫入的路徑。 –

回答

5

只是做

Path.Combine(@"C:\", filename) 

,而不是

HttpContext.Current.Server.MapPath (filename) 

確保您的應用程序寫訪問的目的地。

+1

你的意思是''C:\\「'或'@」C:\「'我認爲 – musefan

+0

@musefan謝謝。 –

+0

非常感謝,這就是我想要的 – MrTony78

1

看來你是從Web應用程序做到這一點?

儘管寫入C:\根目錄是可能的(有正確的權限),但這不是很好的做法。

你可能會更安全地將它保存在別的地方。也看看這個方法Environment.GetFolderPath

相關問題