2016-05-03 1 views
0

J'ai créé une boucle for qui crée les dossiers n. Je voudrais créer un fichier texte dans chaque dossier. Comment fait-on ça?Création de fichiers dans plusieurs dossiers

for (int i = 1; i < 17; i++) 
{      
    System.IO.Directory.CreateDirectory(
     String.Format(@"C:\Users\xxx\Desktop\xx\Test{0:d2}", i)); 
} 

J'ai trouvé une meilleure solution.

for (int i = 1; i < 17; i++) 
     { 

      Directory.CreateDirectory(String.Format(@"C:\Users\xxx\Desktop\xx\Test"+i, i));     

      if (!File.Exists(string.Format(@"C:\Users\xxx\Desktop\xx\Test{0}/Test.txt", i))) 
      {      
       File.WriteAllText(string.Format(@"C:\Users\xxx\Desktop\xx\Test{0}/Test.txt", i), " "); 
      } 
+0

J'ai mis à jour le code essayer le dernier – Mostafiz

+3

Est-ce que cela signifie que vous avez recherché sur Google comment créer un fichier texte et rien trouvé ??? – Andrew

+0

J'ai trouvé comment créer un fichier texte mais pas dans chaque dossier. – active92

Répondre

0

Essayez cette

for (int i = 1; i < 17; i++) 
{      
    var folder = System.IO.Directory.CreateDirectory(String.Format(@"C:\Users\xxx\Desktop\xx\Test{0:d2}", i)); 
    System.IO.File.WriteAllText(folder.FullName + @"\WriteText.txt", "your text content"); 
} 

Mise à jour

si vous voulez plus d'un fichier

for (int i = 1; i < 17; i++) 
{      
    var folder = System.IO.Directory.CreateDirectory(String.Format(@"C:\Users\xxx\Desktop\xx\Test{0:d2}", i)); 
    System.IO.File.WriteAllText(folder.FullName + @"\WriteText1.txt", "your text content 1"); 
    System.IO.File.WriteAllText(folder.FullName + @"\WriteText2.txt", "your text content 2"); 
} 
+0

Merci pour votre réponse rapide. Cela vous dérange-t-il d'expliquer ce que fait le «texte» à la fin? Aussi, si je voudrais créer plus d'un fichier texte dans le dossier, devrais-je ajouter une autre ligne de writealltext ou y a-t-il une méthode plus facile? – active92

+0

c'est le texte que vous écrivez dans le fichier texte lors de la création – Mostafiz

+0

oui vous devriez utiliser une autre ligne pour créer un autre fichier texte – Mostafiz

0

Essayez ceci:

var desktop_path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
for (int i = 1; i < 17; i++) 
{ 
    var folder_path = System.IO.Path.Combine(desktop_path, String.Format(@"xx\Test{0:d2}", i)); 
    var file_path = System.IO.Path.Combine(folder_path, "file.txt"); 
    System.IO.Directory.CreateDirectory(folder_path); 
    System.IO.File.WriteAllText(file_path, "content"); 
} 

Ce code recherche le chemin du bureau de l'utilisateur actuel, puis utilise System.IO.Path.Combine pour s'assurer que les chemins sont correctement concaténés ensemble.

+0

Qu'est-ce qui se passe avec les votes négatifs? Qu'est ce que j'ai mal fait? – Enigmativity

-1
for (int i = 1; i < 17; i++) 
    {      
     var dir = System.IO.Directory.CreateDirectory 
     (String.Format(@"C:\Users\xxx\Desktop\xx\Test{0:d2}", i)); 
     System.IO.File.Create(dir.FullName+ @"\MyFile.txt"); 
    } 

Pour créer d'ajouter du contenu sur le fichier, nous pouvons utiliser FileStream objet retourné par File.Create()

-3

Essayez cette ci-dessus,

J'espère que cela peut facilement vous

string path = @"d:\\dummyfolder"; 
     for (int i = 0; i < 17; i++) 
     { 
      string _folderPath = string.Format("{0}\\{1}", path, i);     
      if (!Directory.Exists(_folderPath)) 
      { 
       //creating folder 
       Directory.CreateDirectory(_folderPath); 

       //creating text file 
       string _filePath = string.Format("{0}\\{1}\\{1}.txt", path, i);      
       string text = i + " " + "Content of the text file "; 
       File.WriteAllText(_filePath, text); 

      } 
     } 
+0

pourquoi son vote à la baisse? quel problème avec cette réponse? Si la réponse est fausse, je peux accepter avec un vote négatif. Sans savoir quoi que ce soit pour venir voter, qu'est-ce qu'un taureau fermé est là .... @stackover flow devrait considérer à ce sujet –