DirectoryInfo di = Directory.CreateDirectory(precombine); // I am creating a new directory.
BinaryWriter write = new BinaryWriter(File.Open(di.FullName, FileMode.Create)); // I want to open a file in it
write.Write(buffer); // and then I want to write in it.
但是,我收到一条错误,即没有任何写入权限。如何为用户创建新目录,然后在其中写入用户的数据?感谢。
答案 0 :(得分:1)
看起来你可能错过了文件名 - " di.FullName"将给出你创建的目录的完整路径名 - File.Open需要一个文件名。
BinaryWriter write = new BinaryWriter(File.Open(Path.Combine(di.FullName, <FILE NAME HERE>), FileMode.Create));
在您的代码中,File.Open将尝试创建一个与您刚刚创建的目录同名的文件 - 因此您没有权限。
答案 1 :(得分:0)
如果您在编写权限时遇到问题&#34;以管理员身份运行&#34;
string rootPath = @"C:\FileSystem\";
string fileName = "data.txt";
if (!Directory.Exists(rootPath))
Directory.CreateDirectory(rootPath);
File.AppendAllText(Path.Combine(rootPath , fileName), "Test");
File.AppendAllText(Path.Combine(rootPath , fileName), "Test2");
对于底行&gt; Environment.NewLine&gt; \ n
File.AppendAllText(Path.Combine(rootPath , fileName), "Test2"+Environment.NewLine);