2013-01-04 55 views
2

我使用FileStream創建具有給定Length文件上創建文件。 OpenFileDialog打開文件,FolderBrowserDialog獲取位置。現在的問題是,當我選擇D:\或E:\驅動器上的位置時,它成功創建了該文件。但是當我選擇C:\驅動器時,它會給出一個Exception,如UnauthorizedAccessException was unhandled.
C:\file.mp4 is denied. 當我選擇桌面作爲目標時,它不會產生Exception並且不會創建該文件。我使用這個代碼的FileStream不是讓我的C盤

private void createFile() 
    { 
     long size = fileInfo.Length; 
     string name = file.FileName.Substring(file.FileName.LastIndexOf('\\') + 1, (file.FileName.Length - (file.FileName.LastIndexOf('\\') + 1))); 
     string filename = "" + location.SelectedPath + name; 

     FileStream outFile = new FileStream(filename, FileMode.Create); 
     outFile.SetLength(size); 
     outFile.Close(); 
    } 

我禁用UAC還我使用Windows 8專業版的管理員user.I'm。任何人都可以解釋什麼是解決方案?提前致謝。

+2

您能夠創建在其他方面,如該文件從命令提示符? –

+1

你可以通過資源管理器創建它嗎? –

+0

在桌面上是的。但在c:訪問被拒絕。 (使用cmd) –

回答

4

權限問題。在Vista/Windows的7/8的情況下,C:\驅動器被視爲系統,你會需要提升權限的進程,以便直接下創建文件。嘗試以管理員身份運行流程或Visual Studio,並且它應該可以工作。

希望它有幫助。

+0

yap。當我以管理員身份運行該.exe文件時,它可以創建。謝謝 –

+0

很高興幫助。 –

0

右鍵點擊exe文件=>以管理員身份運行=>繼續=>立即檢查。 它應該現在工作。