创建新目录并在其中编写文件

时间:2016-11-24 13:47:09

标签: c# .net sockets directory

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.

但是,我收到一条错误,即没有任何写入权限。如何为用户创建新目录,然后在其中写入用户的数据?感谢。

2 个答案:

答案 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);