Записать строки в файл, когда файл существует c # - PullRequest
0 голосов
/ 09 марта 2019

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

Мой код следующий:

string strRuta = "C:\File.txt"

if (!Directory.Exists(strRuta))
    Directory.CreateDirectory(strRuta);


string psContenido = "Hola";

if (!(File.Exists(strRuta + strNombreArchivo)))
{
    swArchivo = File.CreateText(strRuta + strNombreArchivo);
}


if (!psContenido.ToLower().Contains("error"))
{
    swArchivo.WriteLine(psContenido);

    swArchivo.Flush();
    swArchivo.Close();
    swArchivo.Dispose();
    File.SetCreationTime(strRuta + strNombreArchivo, DateTime.Now);
}

но при запуске этой программы у меня возникает ошибка в WriteLine, я не понимаю, в чем причина, не могли бы вы мне помочь?

Хотелось бы узнать, как записать в файл (в следующей строке слово)

1 Ответ

0 голосов
/ 09 марта 2019

Есть пара проблем, я думаю. Во-первых, вы указываете, как выглядит имя файла, и создаете каталог с этим именем (не уверен, намеренно ли это или нет). Во-вторых, вы можете использовать статический вспомогательный метод AppendAllText класса File для создания файла, если он не существует, и для записи содержимого в конец файла. Он обрабатывает все потоковые записи для вас, так что вам не нужно беспокоиться о закрытии и удалении.

private static void Main(string[] args)
{
    string directory = @"C:\private\temp";
    string fileName = "MyFile.txt";
    string filePath = Path.Combine(directory, fileName);
    string fileContents = "This will be written to the end of the file\r\n";

    // This will create the directory if it doesn't exist
    Directory.CreateDirectory(directory);

    // This will create the file if it doesn't exist, and then write the text at the end.
    File.AppendAllText(filePath, fileContents);

    File.SetCreationTime(filePath, DateTime.Now);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...