Как я могу редактировать текстовый файл с помощью C #? - PullRequest
2 голосов
/ 15 августа 2010

Допустим, у меня есть текстовый файл со следующим содержанием:

Привет!
Как дела?

Я хочу вызвать файл с помощью простогоПриложение, которое создает выходной файл со следующим содержимым:

buildLetter.Append("Hello!").AppendLine(); 
buildLetter.Append("How are you?").AppendLine();

Как видите, каждая строка должна быть заключена между "".

Любая помощь будет оценена.

Ответы [ 4 ]

5 голосов
/ 15 августа 2010
void ConvertFile(string inPath, string outPath)
{
    using (var reader = new StreamReader(inPath))
    using (var writer = new StreamWriter (outPath))
    {
        string line = reader.ReadLine();
        while (line != null)
        {
            writer.WriteLine("buildLetter.Append(\"{0}\").AppendLine();",line.Trim());
            line = reader.ReadLine ();    
        }
    }
}

Вы должны добавить некоторую обработку исключений ввода / вывода самостоятельно.

3 голосов
/ 15 августа 2010

Если вы хотите добавить "" к каждой строке, вы можете попробовать объединить методы ReadAllLines и WriteAllLines :

File.WriteAllLines(
    "output.txt",
    File
        .ReadAllLines("input.txt")
        .Select(line => string.Format("\"{0}\"", line))
        .ToArray()
);

Обратите внимание, что при этомвсе содержимое файла в память, чтобы оно не работало с очень большими файлами.В этом случае потоковые читатели и писатели более приспособлены.

0 голосов
/ 26 марта 2014

Для небольших текстовых файлов это работает для меня.

private void EditFile(string path, string oldText, string newText)
        {
            string content = File.ReadAllText(path);
            content = contenido.Replace(oldText, newText);
            File.WriteAllText(path, content);
        }
0 голосов
/ 15 августа 2010

Используйте класс StreamReader из System.IO

Ссылка ссылка для образца кода

Все, что вам, вероятно, нужно сделать, это изменить строку

Console.WriteLine(sr.ReadLine());

до

Console.WriteLine(""""" + sr.ReadLine() + """"");  // handwritten code - not tested :-)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...