我正在使用FileStream
创建一个给定Length
。OpenFileDialog
的文件来打开文件,FolderBrowserDialog
来获取位置。现在问题是当我在D:\或E:\ drive上选择Location时,它成功创建了文件。但是,当我选择C:\ drive时,它会Exception
UnauthorizedAccessException was unhandled.
C:\file.mp4 is denied.
当我选择桌面作为目标时,它不提供Exception
并且不创建文件。我正在使用此代码
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专业版。任何人都可以解释什么是解决方案?提前谢谢。
答案 0 :(得分:5)
许可问题。对于Vista / Windows 7/8,C:\
驱动器被视为系统,并且您需要为您的进程提升权限才能直接在其下创建文件。尝试以管理员身份运行您的流程或Visual Studio,它应该可以正常运行。
希望它有所帮助。
答案 1 :(得分:0)
右键单击exe =>以管理员身份运行=>继续=>现在检查。 它现在应该工作。