2010-11-22 17 views
11

ich erstellen möchte einen neuen Ordner mit dem Namen log und in diesem Ordner wollen Erstellen i eine Textdatei namens log.txt und das ist der Weg, den ich D:\New Foldereinen neuen Ordner und eine Textdatei in diesem Ordner

erstellen möchten erstellen i

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

einen neuen Ordner Protokoll erstellen benannt haben dies versucht und ich habe eine Textdatei erstellt mit diesen

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

Aber ich kann nicht erstellen wie D:\New Folder\Log\log.txt ... irgendeinen Vorschlag ??

Antwort

28

Urm, etwas wie das?

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

Die Überprüfung für das Verzeichnis existiert nicht wirklich erforderlich, nein? 'Alle im Pfad angegebenen Verzeichnisse werden erstellt, sofern sie nicht bereits vorhanden sind '- MSDN-Definition von [Directory.CreateDirectory] (http://msdn.microsoft.com/en-us/library/54a0at6s (v = vs.110) .aspx) –

4

Versuchen Path.Combine hier mit:

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

und fügen Sie die Verwendung von System.IO Richtlinie zu Ihrem Formular.

1

Alle anderen Antworten auf diese Frage sind korrekt. Aber ich möchte darauf hinweisen, dass die Directory.Exists nicht erforderlich ist. Selbst wenn das Verzeichnis bereits existiert, wird von Directory.CreateDirectory keine Ausnahme ausgelöst. Der Code kann so einfach wie die folgenden drei Zeilen sein.

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