winform不在只读文件夹中创建文件

时间:2016-06-16 10:30:40

标签: c# file-writing

我正在尝试使用下面的代码在目录中创建文件

if (File.Exists(myDir))
{
    return myDir;
}
System.IO.Directory.CreateDirectory(myDir);
File.SetAttributes(myDir, FileAttributes.Normal);

//string name = myDir + "/" + filename;
File.Create(myDir).Dispose();
return myDir;

当我在Mac上运行它时它起作用,因为该目录具有写入权限,但是,我注意到在Windows 10上所有文件夹都是自动读取的,因此拒绝在路径中写入的权限。

在这条路径中写一个文件对我有什么解决方法?

顺便说一句,如果我使用这条路径,这是我的MacBook目录(读取和写入权限):“// Mac / Home / Movies”它将正常工作,它将创建子目录和文件,但是如果我选择一个“C:\ CSVtest”的窗口它只会显示“访问被拒绝,因为它是只读的,我找不到绕过这个只读的东西的方法,我试过其他的Windows 10机器同样,Windows 10上的所有文件夹都是只读的,所以它是相同的情况

1 个答案:

答案 0 :(得分:1)

//path = @"C:\Temp\Bar\Foo\Test.txt";
Directory.CreateDirectory(Path.GetDirectoryName(path));

Directory.CreateDirectory将以递归方式创建目录,如果该目录已经存在,它将返回而不会出现错误。

然后您将创建文件

File.Create(path).Dispose();