2009-12-25 1 views
1

Я новичок в программировании. Есть ли способ создать несколько TXT-файлов, используя
данные из другого файла на C#.
как это:
1. мы data.txt с 100 или более строк
string1
строка2
string3

...
2. мы TextBox1 и TextBox2 ждет пользователь вводить строкиC# Создайте несколько файлов .txt, используя строки из другого файла и текстового поля

3. нам нужно создать 100 или более файлов с помощью строки из data.txt и Textboxes строк: имя файла Fisrt: string1 + textbox1string .txt
и внутри него мы пишем: textbox2string + string1 + textbox1string
тот же шаблон для создания других файлов, второй - sTRING2 + textbox1string .txt и внутри второй - textbox2string + строка2 + textbox1string
извините за мой английский, я не носитель языка.

ответ

4

Ну, это звучит, как вы хотите что-то вроде:

string[] lines = File.ReadAllLines("file1.txt"); 
foreach (string line in lines) 
{ 
    File.WriteAllText(line + textbox1.Text + ".txt", 
         textbox2.Text + line + textbox1.Text); 
} 

В основном для очень простых задач, как это методы в File классе позволяют «один выстрел» звонки, которые читать и писать файлы целиком, в то время , Для более сложных вещей вам обычно нужно открыть TextReader/TextWriter или Stream.

Если это не то, что вам нужно, предоставьте дополнительную информацию. Аналогично, если вы обнаружите, что код трудно понять, сообщите нам, и мы попытаемся объяснить. Вы можете оштрафовать его проще с несколькими переменными:

string[] lines = File.ReadAllLines("file1.txt"); 
foreach (string line in lines) 
{ 
    string newFile = line + textbox1.Text + ".txt"; 
    string fileContent = textbox2.Text + line + textbox1.Text; 
    File.WriteAllText(newFile, fileContent); 
} 

EDIT: Если вы хотите добавить каталог, вы должны использовать Path.Combine:

string newFile = Path.Combine(directory, line + textbox1.Text + ".txt"); 

(Вы можете сделать это только с конкатенации, но Path.Combine это лучшая идея.)

+0

Спасибо за быстрый ответ. Ваш код фантастический! Я искал его очень долго :) Если возможно, вы можете написать, как мы можем добавить путь к каталогу для создания файлов, пожалуйста. –

1

Конечно ...

string textbox1string = textbox1.Text, textbox2string = textbox2.Text; 
foreach(string line in File.ReadAllLines("data.txt")) { 
    string path = Path.ChangeExtension(line + textbox1string, "txt"); 
    File.WriteAllText(path, textbox2string + line + textbox1string); 
}