Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кодировка при открытии/записи файла 
V
    Опции темы
Errorx1
Дата 30.4.2006, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



Вот код для чтения:

Код

Using myFileStream As New IO.FileStream("C:\text.txt", IO.FileMode.Open)
                Dim myStreamReader As New IO.StreamReader(myFileStream, True)
                Text = myStreamReader.ReadToEnd()
                myStreamReader.Close()
            End Using


Это код для записи:

Код

 Using myFileStream As New IO.FileStream("C:\text.txt", IO.FileMode.Create)
            Dim myStreamWriter As New IO.StreamWriter(myFileStream)
            text="bla bla bla"            
            myStreamWriter.Write(text)
            myStreamWriter.Close()
        End Using


Как тут можно указывать при открытии или чтении из файла кодировку? а то у меня файл в АСКИИ, читать-то читает, а вот не записывает русские буквы smile нашёл вот что 

Код

System.Text.Encoding.UTF8


Но не знаю, то или нет, и не смог нигде применить  

Это сообщение отредактировал(а) Exception - 1.5.2006, 10:11
PM MAIL   Вверх
Errorx1
Дата 1.5.2006, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



Сделал так:

Код

Dim myStreamWriter As New IO.StreamWriter(myFileStream, System.Text.ASCIIEncoding.UTF8)


Код кодирует из аски в утф8...но словарь с огромным каличеством спец символов иногда касячит...цыфры оставляет а русские буквы затирает smile 
PM MAIL   Вверх
Exception
Дата 1.5.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Пользуй

Код

Dim myStreamReader As New StreamReader(myFileStream, System.Text.Encoding.Default)


и Writer так же. 
PM   Вверх
Errorx1
Дата 1.5.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



не работает smile не записывает русский текст и всё! тока знаки оставляет и английские буквы если есть...

Добавлено @ 19:20 
вот если в UTF8 текст то всё прекрасно считываться и записываеться... 
PM MAIL   Вверх
DarkDragon
Дата 20.8.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 5
Всего: 8



Попробуй вот так:

Код

  FileOpen (2,"C:\MyText.txt")
  FilePut (2,"Русский текст" & vbCrLf)
  FileClose (2)

  ' Либо используй BinaryReader & BinaryWrite из System.IO


vbCrLf - это константа состоящия из двух байтов 13 и 10, он нужен для возрата каретки и перехода на новую строку. Её можно заменить вот так Chr(13) & Chr(10). 
PM MAIL   Вверх
Exception
Дата 20.8.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Как я уже говорил в соседней теме, пользоваться этими функциями не рекомендуется smile . А вместо vbCrLf лучше использовать ControlChars.CrLf.
PM   Вверх
DarkDragon
Дата 20.8.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 5
Всего: 8



Но все же они работают, и при чем неплохаsmile И не глючатsmile Во всяком случаи у меняsmile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0891 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.