Выводит StreamWriter … в конце файла .txt

#c# #visual-studio #winforms #streamwriter

Вопрос:

Я пишу текст из текстового поля в файл .txt, и после 40 символов он просто помещает»…»

Вот код:

 //defining the path as a string
string fileName1 = @"C:Users-----AppDataLocal"   nameTextBox.Text   " FileName.txt";
        //checking if the file exists
        if (!File.Exists(fileName))
        {
            
            //if file does exist, open the file and edit it
            using (StreamWriter writer = File.CreateText(fileName))
            {
                //using stream writer to write the file System.IO.StreamWriter(@"C:Users-----AppDataLocal"   NameTextbox.Text   "FileName.txt"); //open the file for writing.
                writer.Write(writingTextBox.Text); //write text box contents to the file. 
                writer.Close();
                writer.Dispose();
            }
        }
        else
        {
            //if the file does not exist, create new file
            System.IO.StreamWriter writer = new System.IO.StreamWriter(@"C:Users-----AppDataLocal"   nameTextBox.Text   "FileName.txt");
            writer1.Write(writingTextBox); //write the textbox contents to the file.
            writer1.Close();
            writer1.Dispose();
        }
 

Пожалуйста, помогите,

Спасибо.

Комментарии:

1. Вы, вероятно else , ошиблись в ответвлении — writer1.Write(writingTextBox); должно быть writer1.Write(writingTextBox.Text);

2. Спасибо, теперь это работает!

Ответ №1:

Если вы просто пишете простые текстовые данные и хотите просто перезаписывать их каждый раз, то вам лучше использовать WriteAllText

 string fileName = @"C:Users-----AppDataLocal"   nameTextBox.Text   " FileName.txt";

File.WriteAllText(fileName, writingTextBox.Text));
 

Нет необходимости проверять, существует ли файл и имеет ли он другую обработку.

Если вы хотите добавить в файл, вы также можете использовать AppendAllText . Но тогда вам придется сначала проверить, существует ли файл.

Комментарии:

1. Спасибо, это очень помогает!