Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/58: Рейтинг темы: голосов - 58, средняя оценка - 4.66
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49

Я создал текстовый файл, но программа не видит текста на русском языке

02.06.2009, 19:46. Показов 11080. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В продолжениие темы.. Я создал текстовый файл, но программа не видит текста на русском языке. Зато видит символы и английские буквы, в том числе и пробелы...

Вот код:
C#
1
2
3
4
5
6
System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName);
string line;
while ((line = sr.ReadLine()) != null)
{
   label1.Text = label1.Text+'\n'+line;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2009, 19:46
Ответы с готовыми решениями:

Cохранить текстовый файл (в Excel) на русском языке (не в блокноте и не в Word)
Здравствуйте! Подскажите как сохранить текстовый файл на русском языке (английские буквы нормально отображает, а кириллицу - ...

Как вывести в текстовый файл информацию(имя, фамилия, возраст) на русском языке
// фрагмент кода // то в консоле русский, а в файле краказябры // то в консоле кракозябры, а в файле русский int polz_vvod() ...

Чтение текста на русском языке из файла
Всем привет. Проблема такая, пишу программу в Windows Forms, нужно прочитать данные из файла, здесь все ок, но выводятся какие-то...

42
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
02.06.2009, 23:27
Студворк — интернет-сервис помощи студентам
Входной файл - именно тот, откуда вы читаете. )
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
02.06.2009, 23:42  [ТС]
Я же считываю из текстового файла, а в нем уже всякая фигня есть (текст, символы, цифры)... Я пытаюсь из a.txt прочитать...
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
03.06.2009, 02:53
Цитата Сообщение от Superwow Посмотреть сообщение
Encoding en2 = Encoding.UTF8;
System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.F ileName);
string line = sr.ReadLine();
string content = "";
while (line != null) { content += line + "\n"; line = sr.ReadLine(); }
sr.Close();
А где здесь используется en2, вижу только объявление.
Code
1
System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName,en2);
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 07:33
Superwow, я же выше указал, что есть более удобный способ:

string[] str=File.ReadAllLines("имя_файла");
foreach(string a in str)
{
\\здесь ваш код
}

читается удобнее, да и с кириллицей нормально работает.
0
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
03.06.2009, 07:53
Veyron, у человека проблема не с чтением файла, а с кодировкой этого файла. Поэтому при открытии нужно добавлять кодировку, как читать файл.
Вот вам два файла. Посмотрите, где у вас нормально работает.
a.txt
b.txt
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 08:03
Green, действительно, не догоняю я чего-то. Короче, надо поставить автоопределение. вот как:

string[] bd = File.ReadAllLines("b.txt", Encoding.Default);
string content = "";
foreach (string a in bd)
content = content + a + "\n";
label1.Text = content;

вот это самое Encoding.Default должно определить кодировку. У меня по крайней мере и a.txt, и b.txt считались нормально в label1...
1
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 11:16  [ТС]
Блииин... Veyron, ты гений)) А я тупой)) В два часа ночи мозг отключен))) Я действительно не использовал Encoding... Я сделал.. Теперь вместо кирилицы он выдает вопросы)) Уже хоть какой-то шаг)))

Добавлено через 4 минуты 42 секунды
Veyron, Green, спасибо большое!!!! Короче, в АСКИИ он выдает символы вопрсы вместо кирилицы, при УТФ-8 пропускает символы кирилицы, а при дефолте РАБОТАЕЕЕТ)))))))))))))))) ЕЩЕ РАЗ СПАСИБО)))

Добавлено через 4 минуты 5 секунд
Проверил и a.txt и b.txt))) Работает все)))))))) Блиин, рад так))))))))
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 11:30
Superwow, ;-)
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 14:41  [ТС]
System.IO.StreamWriter sw = new System.IO.StreamWriter(openFileDialog1.F ileName);
sw.Write(content);
sr.Close();
а что я делаю не так? Я хочу записать в файл тотже, что и открыл новые значения...
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 14:45
Цитата Сообщение от Superwow Посмотреть сообщение
а что я делаю не так?
а что конкретно не получается?
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 14:50  [ТС]
Он выдает мне пустой текстовый файл в итоге
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 14:52
Если Вы в тот же файл пишете, и если читающий поток не закрыт, то не получится... Желательно показать части кода, где читаете, и где записываете файл... и еще - удобнее так:

File.WriteAllText("путь_к_файлу", content);
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 14:57  [ТС]
Нет нет, тот поток закрыт... Где читаю, вы уже видели))) Вчера всю ночь показывал))) Ща попробую...

Добавлено через 2 минуты 20 секунд
Ща будет вообще абсурдный вопрос... А как быстро перевести из string в string[]???
0
Комбайнёр
 Аватар для MAcK
1606 / 704 / 77
Регистрация: 27.05.2008
Сообщений: 2,535
03.06.2009, 14:59
А из чего вы хотите получить масив и какой?
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 15:02  [ТС]
использовал вместо File.WriteAllLine File.WriteAllText... Но... Он мне весь текст записал в одну строку, а вместо переходов на новую строку поставил символы квадратные..

Добавлено через 2 минуты 0 секунд
IT-Skyline, у меня есть текст в формате string, как мне быстрей и эффективней получить формат string[]... В смысле, чтобы разделить... Ну хотя это не так важно, но все-таки... Через цикл записывать в массив строк?
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 15:05
Цитата Сообщение от Superwow Посмотреть сообщение
Через цикл записывать в массив строк?
Да. выше было:

string[] itog=content.Split("\n");

\n - символ перевода строки

ЗЫ: мля, это не цикл, а я его циклом назвал :-D
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 15:15  [ТС]
Veyron, огромнейшее спасибо за краткий курс работы с текстовыми файлами... А значит функция сплит разбивает стринг на массив строк с разделителем, указанным символом? Правильно, я понял?
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 15:17
Цитата Сообщение от Superwow Посмотреть сообщение
А значит функция сплит разбивает стринг на массив строк с разделителем, указанным символом? Правильно, я понял?
верно
0
 Аватар для Superwow
1 / 1 / 0
Регистрация: 02.06.2009
Сообщений: 49
03.06.2009, 15:21  [ТС]
А еще... Это не вопрос, а недоумение даже... Допустим я хочу открыть файл вручную прописав путь... допустим: "d:\aaa\a.txt".. Но почему-то компилятор ругается, утверждая, что файла не существует. Учитывается ли регистр при указании пути и правильно ли я указал полный путь?

Добавлено через 1 минуту 49 секунд
В дополнение... Как создать текстовый файл из компилятора? Считывать научился, записывать научился, а создавать че-то не нашел нигде...
0
 Аватар для Veyron
107 / 107 / 9
Регистрация: 02.06.2009
Сообщений: 578
03.06.2009, 15:25
Цитата Сообщение от Superwow Посмотреть сообщение
А еще... Это не вопрос, а недоумение даже... Допустим я хочу открыть файл вручную прописав путь... допустим: "d:\aaa\a.txt".. Но почему-то компилятор ругается, утверждая, что файла не существует. Учитывается ли регистр при указании пути и правильно ли я указал полный путь?
В C# одинарный бэкслэш для команд и спецсимволов. В пути используйте двойной, вот так:
d:\\aaa\\a.txt
а на регистр ему вроде как по боку...

чтобы создать, можно просто записать пустой файл:
File.WriteAllText("путь_к_файлу", "");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2009, 15:25
Помогаю со студенческими работами здесь

Распознавание текста на русском языке (Tesseract 3)
кто-нибудь сталкивался с задачей распознования русского текста на шарпе? на https://code.google.com/p/tesseract-ocr/ есть исходники, но...

Автоматическое разбиение текста на предложения в русском языке
Ребята, помогите написать пожалуйста программу на основе статьи.

Запись текста на русском языке в базу данных
VS 2012 проект с базой данных и asp.net. Из формы записываем текст в таблицу на русском языке, но запись превращается в ??????????. На...

Кракозябры при выводе текста на русском языке
Программирую на джаве неделю͵ и за всю неделю при попытке запустить любой System.out.println("пример текста"); появляются ...

Как реализовать ввод/вывод текста на русском языке?
Вечер добрый, друзья. Вот только что зарегистрировался, т.к. уже нет сил бороться с одной проблемой. Перерыл весь cyberforum, но так и не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru