我在mono上运行,我需要Crete文件夹并提取其中的压缩文件。然而,我得到了这个例外。我知道访问被拒绝,但我无法找到解决方案,一切都是窗口。文件夹已创建,但我可以在其中创建文件。但是,如果我只创建一个文件,那么我可以在其中写入
System.UnauthorizedAccessException: Access to the path '/Users/pat/Documents/Work/TestConsole/PdftronTestConsole/NewDirectory1/' is denied.
---> System.IO.IOException: Permission denied
--- End of inner exception stack trace ---
var path = "/Users/pat/Documents/Work/TestConsole/PdftronTestConsole/NewDirectory1/";
Assembly asm = Assembly.GetExecutingAssembly(); //Read embedded resources
inStream = new BufferedStream(asm.GetManifestResourceStream(resFileName));
Directory.CreateDirectory(path);
outStream = new FileStream(path, FileMode.Create, FileAccess.Write );
由于var path = "/Users/pat/Documents/Work/TestConsole/PdftronTestConsole/NewDirectory1/";
不是文件,访问被拒绝。从硬盘打开文件流时,需要在文件流中指定文件名。否则,程序不知道流需要保存在哪里。
例如:
var path = "/Users/pat/Documents/Work/TestConsole/PdftronTestConsole/NewDirectory1/";
string pathWithFileName = Path.Combine(path, "text.txt");
using (var stream = new FileStream(pathWithFileName, FileMode.Create, FileAccess.Write))
{
// Do whatever to write to the file.
}
更改后,我可以使用C#访问我的文档文件夹和其他文件夹。