2010-11-22 5 views
11

Je veux créer un nouveau dossier nommé log et à l'intérieur de ce dossier que je veux créer un fichier texte nommé log.txt et c'est le chemin que je veux créer D:\New Folderla création d'un nouveau dossier et un fichier texte dans ce dossier

i ont essayé de créer un nouveau dossier nommé journal

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

Et j'ai créé un fichier texte à l'aide de cette

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

Mais je ne peux pas créer comme D:\New Folder\Log\log.txt ... une suggestion ??

Répondre

28

Urm, quelque chose comme ça?

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

La vérification du répertoire n'existe pas vraiment, non? 'Tous les répertoires spécifiés dans path sont créés, à moins qu'ils n'existent déjà' - Définition MSDN de [Directory.CreateDirectory] (http://msdn.microsoft.com/fr-fr/library/54a0at6s (v = vs.110) .aspx) –

4

Essayez d'utiliser Path.Combine ici:

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

et ajoutez la directive à l'aide System.IO à votre formulaire.

1

Toutes les autres réponses à cette question sont correctes. Mais je tiens à souligner que le Directory.Exists n'est pas nécessaire. Même si le répertoire existe déjà, aucune exception ne sera générée par Directory.CreateDirectory. Le code peut être aussi simple que les trois lignes suivantes.

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