创建一个新文件夹并在该文件夹内创建一个文本文件

问题描述 投票:0回答:5

我想创建一个名为

log
的新文件夹,并在该文件夹中创建 一个名为
log.txt
的文本文件,这是我要创建的路径
D:\New Folder

我尝试过创建一个名为 log 的新文件夹

string FilePathSave = Folder.ToString() + System.IO.Directory.CreateDirectory(@"D:\New Folder\Log");

我用这个创建了一个文本文件

string FilePathSave = Folder.ToString() +"log.txt";
File.WriteAllText(FilePathSave, TextBox1.Text);                

但是我无法像

D:\New Folder\Log\log.txt
那样创建......有什么建议吗??

c#
5个回答
44
投票

呃,类似这样的吗?

var dir = @"D:\New folder\log";  // folder location

Directory.CreateDirectory(dir);

// use Path.Combine to combine 2 strings to a path
File.WriteAllText(Path.Combine(dir, "log.txt"), "blah blah, text");

9
投票
    string dir = @"D:\New Folder\Log";
    if (!Directory.Exists(dir))
    {
        Directory.CreateDirectory(dir);
    }

    File.WriteAllText(Path.Combine(dir, "log.txt"), TextBox1.Text);

8
投票

尝试在这里使用

Path.Combine

string folder = Path.Combine(root, "log");
if(!Directory.Exists(folder)) Directory.CreateDirectory(folder);
string file = Path.Combine(folder, "log.txt");
File.WriteAllText(file, text);   

4
投票

这个问题的所有其他答案都是正确的。但我想指出,Directory.Exists 不是必需的。即使目录已经存在,Directory.CreateDirectory 也不会抛出异常。代码可以很简单,如下三行。

const string Folder = @"C:\temp"
Directory.CreateDirectory(Folder);
File.WriteAllText(Path.Combine(Folder, "log.txt"), "This is the test you want to write");

-1
投票
string d = "D:\\New Folder";  

if (!Directory.Exists)  
  Directory.CreateDirectory(d);

File.WriteAllText(d + "\\log.txt", textBox1.Text);

并将 using System.IO 指令添加到您的表单中。

© www.soinside.com 2019 - 2024. All rights reserved.