powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# запись в конец txt файла
16 сообщений из 16, страница 1 из 1
c# запись в конец txt файла
    #38219426
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как модифицировать этот код так, чтобы запись происходила с кодировкой 1251?
Код: c#
1.
2.
3.
4.
5.
6.
7.
            //Запись в файл
            FileStream fileStream = new FileStream("source2.txt", FileMode.Open);
            StreamWriter streamWriter = new StreamWriter(fileStream);
            streamWriter.BaseStream.Seek(fileStream.Length, SeekOrigin.End);//запись в конец файла
            streamWriter.Write("\r\n"+addString);
            streamWriter.Close();
            fileStream.Close();
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219438
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan,

Что помешало использовать File.AppendAllText / File.AppendAllLines?
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219445
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan, передай конструктору StreamWriter второй аргумент Encoding.GetEncoding("windows-1251").

Lelouch дал дельный совет. Использование File.AppendAllText упростит твой код. Кодировку ему тоже можно указать.

P.S. Не забывай использовать using когда работаешь с потоками.
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219523
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
File.AppendAllText где используется? Мне нужно записать в конец файла, как мне сделать это с File.AppendAllText?
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219544
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan,

MSDN читать не ваш выбор:
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219545
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?*
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219546
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получив строку и путь к файлу, этот метод открывает указанный файл, добавляет строку в конец файла и затем закрывает файл.

http://msdn.microsoft.com/ru-ru/library/vstudio/ms143356(v=vs.90).aspx
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38219571
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за качественные советы.
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38220902
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не буду создавать тему, но у меня есть еще проблема
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
string[] readText = System.IO.File.ReadAllLines("source.txt");
            using (System.IO.StreamWriter file = new System.IO.StreamWriter("source.txt", Encoding.GetEncoding(1251)))
            {
                for (int i = 0; i < readText.Length; i++)
                {
                    if (i != 1) file.WriteLine(readText[i]);
                }
            }



Вот в этом коде, ругается на кодировку Encoding.GetEncoding(1251). Мол я не правильный параметр передал. Но когда я ставлю запятую после "source.txt", появляется строка с подсказкой второго параметра - Encoding encoding. Что я не так делаю?
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38220913
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan,

..может быть, System.Text.Encoding.GetEncoding(1251) ....
или Encoding.GetEncoding("windows-1251")
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38220914
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan,

Я не могу понять, вы пытаетесь написать самый сложны и запутанный код записи в файл? Вместо одной строчки лепить ReadAllLines, StreamWriter, цикл?

У StreamWriter нет конструктора с параметрами ( string , Encoding), есть StreamWriter( Stream , Encoding)

http://msdn.microsoft.com/ru-ru/library/system.io.streamwriter.aspx
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38220918
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите список конструкторов хотя бы. Или в MSDN забанили?
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38222145
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И как мне собственно создать new System.IO.StreamWriter с кодировкой 1251?
Я без понятия, что это за stream
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38222148
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfan,

читайте MSDN, там все написано
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38222300
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfanИ как мне собственно создать new System.IO.StreamWriter с кодировкой 1251?
Для того чтобы это сделать нужно найти список конструкторов для класса StreamWriter и выбрать наиболее подходящий. Ссылку на документацию Lelouch тебе уже привёл.

Разберем по шагам. У StreamWriter есть конструкторы со следующими сигнатурами:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
StreamWriter(Stream)
StreamWriter(String)
StreamWriter(Stream, Encoding)
StreamWriter(String, Boolean)
StreamWriter(Stream, Encoding, Int32)
StreamWriter(String, Boolean, Encoding)
StreamWriter(Stream, Encoding, Int32, Boolean)
StreamWriter(String, Boolean, Encoding, Int32)


Нас интересуют только те где можно передавать Encoding поэтому отсекаем лишние:
Код: c#
1.
2.
3.
4.
5.
StreamWriter(Stream, Encoding)
StreamWriter(Stream, Encoding, Int32)
StreamWriter(String, Boolean, Encoding)
StreamWriter(Stream, Encoding, Int32, Boolean)
StreamWriter(String, Boolean, Encoding, Int32)


Идем дальше. Мы хотим указать имя файла, а не поток. Отсекаем конструкторы принимающие Stream и получаем:
Код: c#
1.
2.
StreamWriter(String, Boolean, Encoding)
StreamWriter(String, Boolean, Encoding, Int32)


Из двух вариантов ты, я надеюсь, сможешь сделать выбор самостоятельно.

Подобный подход применим к любым данных.

gfanЯ без понятия, что это за stream
Рим не сразу строился. Если ты что-то не знаешь, то читай книги и документацию.

gfanВот в этом коде, ругается на кодировку Encoding.GetEncoding(1251). Мол я не правильный параметр передал.
Ты вызываешь конструктор с сигнатурой StreamWriter(string, Encoding). Такого конструктора у класса нет, отсюда и ошибка компиляции.

gfanНо когда я ставлю запятую после "source.txt", появляется строка с подсказкой второго параметра - Encoding encoding. Что я не так делаю?
IntelliSense помогает только писать код. Думать за тебя она не умеет.
...
Рейтинг: 0 / 0
c# запись в конец txt файла
    #38222687
gfan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мерси
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / c# запись в конец txt файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]