FileStream不允许我在C盘上创建文件

时间:2013-01-04 09:13:00

标签: c# filestream

我正在使用FileStream创建一个给定LengthOpenFileDialog的文件来打开文件,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专业版。任何人都可以解释什么是解决方案?提前谢谢。

2 个答案:

答案 0 :(得分:5)

许可问题。对于Vista / Windows 7/8,C:\驱动器被视为系统,并且您需要为您的进程提升权限才能直接在其下创建文件。尝试以管理员身份运行您的流程或Visual Studio,它应该可以正常运行。

希望它有所帮助。

答案 1 :(得分:0)

右键单击exe =>以管理员身份运行=>继续=>现在检查。 它现在应该工作。