2010-11-22 93 views
11

我想创建一个名为log一个新的文件夹,该文件夹内我想创建 一个名为log.txt文本文件,这是我想创建D:\New Folder创建一个新的文件夹,该文件夹

路径内的文本文件我曾经尝试这样做,以创建一个名为日志

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 ...任何建议?

回答

28

Urm,是这样的?

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

if(!Directory.Exists(dir)) // if it doesn't exist, create 
    Directory.CreateDirectory(dir); 

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

检查目录是否存在并非真正需要,不是吗? '任何和所有路径中指定的目录都被创建,除非它们已经存在' - [Directory.CreateDirectory]的MSDN定义(http://msdn.microsoft.com/en-us/library/54a0at6s(v = vs.110)的.aspx) – 2014-01-07 06:25:01

4

尝试使用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); 
6
string dir = @"D:\New Folder\Log"; 
    if (!Directory.Exists(dir)) 
    { 
     Directory.CreateDirectory(dir); 
    } 

    File.WriteAllText(Path.Combine(dir, "log.txt"), TextBox1.Text); 
0
string d = "D:\\New Folder"; 

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

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

而且使用System.IO指令添加到您的形式。

1

此问题的所有其他答案都是正确的。但我想指出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"); 
相关问题