2016-05-03 8 views
0

Я создал цикл for, который создает n папки. Я хотел бы создать текстовый файл в каждой папке. Как мне это сделать?Создание файлов в нескольких папках

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

Я нашел лучшее решение.

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

У меня есть обновленный код, попробуйте последний – Mostafiz

+3

Означает ли это, что вы googled, как создать текстовый файл и ничего не нашел ??? – Andrew

+0

Я нашел, как создать текстовый файл, но не в каждой папке. – active92

ответ

0

Попробуйте

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

Update

если вы хотите больше, чем один файл

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

Благодарим за быстрый ответ. Не возражаете ли вы объяснить, что делает «текст» в конце? Кроме того, если я хотел бы создать несколько текстовых файлов в папке, должен ли я добавить еще одну строку writealltext или есть ли более простой метод? – active92

+0

это текстовое содержимое, которое вы пишете в текстовый файл во время создания файла – Mostafiz

+0

да, вы должны использовать другую строку для создания другого текстового файла – Mostafiz

0

Попробуйте это:

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

Этот код находит путь рабочего стола текущего пользователя, а затем использует System.IO.Path.Combine, чтобы гарантировать, что пути правильно объединены вместе.

+0

Что с пустым голосованием по этому поводу? Что я сделал не так? – 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"); 
    } 

Для создания добавления контента в файл, мы можем использовать FileStream объект, возвращаемый File.Create()

-3

Попробуйте это выше,

Я надеюсь, что это может легко для вас

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

почему его голос? что случилось с этим ответом? если ответ неправильный, я могу согласиться с правом голоса. Не зная ничего о том, чтобы прийти на голосование, что такое бык закрыт ... @stackover поток должен подумать об этом –

Смежные вопросы