繁体   English   中英

将WriteAllBytes写入“在程序中”创建的目录访问路径被拒绝

[英]WriteAllBytes to an “in program” created directory Access to path Denied

您好,我在C#中用app.manifest参数设置了一个小的安装程序给Administrator。要求能够自由编辑计算机,但是当我执行此代码时:

System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text, Properties.Resources.Sara);

您正在混淆目录与文件。 您可以写入文件,然后将其保存到目录中。 但是不能直接写入目录。

cheminInstall.Text = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)+"\\Storationer";
System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text+"\\YourFileName.txt", Properties.Resources.Sara);

看一下代码:

System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text, ...);

好了,您创建一个目录,然后尝试编写一个与该目录同名的文件。 那不可能 您可以目录中写入文件。 您可以用新文件覆盖现有文件。 但是您不能将文件写入指定目录的路径。

我不知道你打算做什么。 但是大概您希望创建一个目录,并在该目录中写入一个文件。 这将要求您传递路径到WriteAllBytes,该路径指定您创建的目录内的对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM