2016-11-15 4 views
-5

Я хочу создавать новые текстовые файлы каждый раз, когда пользователь нажимает кнопку, поэтому, если пользователь нажимает кнопку 5 раз, я хочу автоматически создавать 5 новых текстовых файлов. Как я могу это сделать?Я хочу создать новый текстовый файл с C#

Сейчас у меня есть это, но это не работает:

StreamWriter myOutputStream = new StreamWriter(@"C: \Users\LH\Desktop\test.txt"); 

foreach (var item in listBox1.Items) 
{ 
    myOutputStream.WriteLine(item.ToString()); 
} 

myOutputStream.Close(); 
+3

ОК, поэтому ваш код записывает 5 строк в текстовый файл ... как это связано с созданием файлов слов? что вы пытались сделать с помощью текстовых файлов? – BugFinder

+0

@BugFinder Evertime пользователь нажимает кнопку Я хочу создать новый файл/документ – daf32

+0

@MohitShrivastava no – daf32

ответ

0

Я считаю, что вы ищете

string txtFilePath = @"C:\Users\LH\Desktop\test"; 
int filecnt = 1; 
foreach (var item in listBox1.Items) 
{ 
    File.WriteAllText(txtFilePath + filecnt + ".txt", item.ToString()); 
    filecnt++; 
} 

Это создаст количество TextFiles равно количеству элементов в список.

Файл именование будет как test1.txt, text2.txt и т.д ...

+0

ДА, Спасибо, что я имею в виду, но он получает только первое значение из ListBox – daf32

+0

Привет @ daf32, если этот или любой ответ разрешил ваш вопрос, пожалуйста, рассмотрите [Принимая это] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work), нажав галочку. Это указывает более широкому сообществу, что вы нашли решение и дали некоторую репутацию как самому, так и самому себе. Это не обязательно. –

+0

Он не показывает все значения, которые у меня есть в моем списке, только первое значение ..... – daf32

0

Вы должны иметь соглашение об именах/правила для ваших файлов.

Например: при использовании даты и времени вы можете использовать:

string filePath = DateTime.Now.ToString(); 
string content = "somecontent"; 

if (!File.Exists(filepath)) 
    System.IO.File.WriteAllText(filepath, content); 

Поместите этот код в цикле в соответствии с вашим конкретным сценарием.

Помните, что это только если вы хотите использовать дату для пути к файлу. Вы можете использовать счетчик, список имен со счетчиком, префиксы или суффиксы и т. Д.

+0

Что вы имеете в виду с контентом? – daf32

+0

Контент - это то, что вы хотите записать в текстовом файле - строковое значение. – Elmar

+0

вот так? string filePath = DateTime.Now.ToString(); string content = "test"; foreach (var item in listBox1.Items) { if (! File.Exists (filePath)) System.IO.File.WriteAllText (filePath, content); myOutputStream.WriteLine (item.ToString()); } myOutputStream.Close(); – daf32

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