c# - FileStream 不允许我在 C 驱动器上创建文件

标签 c# filestream

我正在使用FileStream创建一个具有给定Length的文件。OpenFileDialog打开一个文件,FolderBrowserDialog获取位置。现在的问题是,当我选择 D:\或 E:\驱动器上的位置时,它成功创建了文件。但是,当我选择 C:\驱动器时,它会给出 Exception,例如 UnauthorizedAccessException 未处理。
C:\file.mp4 被拒绝。 当我选择桌面作为目标时,它不会给出异常并且不会创建文件。我正在使用此代码

    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 Pro。谁能解释一下解决方案是什么?提前致谢。

最佳答案

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

希望有帮助。

关于c# - FileStream 不允许我在 C 驱动器上创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14154151/

相关文章:

c# - 重载最佳实践

c# - 如何在不同平台创建相同的 MD5 token ?

c++ - C++中流的优点是什么?

c# - 使用 WS-Security web 服务的 WCF 客户端

c# - 是否可以将 ASP.NET ASPX 解决方案迁移到 ASP.NET Core 2.0?

c# - 使用 OpenXML 将 Excel 2013 范围格式化为表格

java - 如何解决无法关闭 FileStream

java - 如何在java中将Bystream视频转换为文件视频

c# - 将文件分块发送到 HttpHandler

c# - 将 MemoryStream 复制到 FileStream 并保存文件?