Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Чтение текстового файла Добавлено: 19.06.04 00:31  

Автор вопроса:  Padre | Web-сайт: vb.narod.ru

Как прочитать данные из файла?
Я пишу так:

        Dim HFW As New StreamReader("D:\Project\" & R_Path & ".htm")
        TXT.Text = HFW.ReadLine()
        HFW.Close()

Но он читает только одну строчку(можно пустить цикл, но как узнать сколько строчек в файле?), да и
русские символы не читает, как быть?
Если кто знает, как на VB.net прочитать файл(независимо от размера, и языка), то пожалуйста, ответте.

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #1 Добавлено: 19.06.04 01:14
Попробуй HFW.ReadToEnd

Ответить

Номер ответа: 2
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #2
Добавлено: 19.06.04 04:57
Чтобы разбирать русские буквы надо задать соответсвующую кодировку!

Dim read As StreamReader = New StreamReader("c:\test.txt", Encoding.GetEncoding(1251))

Dim mes As String

mes = read.ReadToEnd()

 

TextBox1.Text = mes

read.Close()

MessageBox.Show(" Файл прочитан: c:\test.txt")

Ответить

Номер ответа: 3
Автор ответа:
 Padre



Вопросов: 4
Ответов: 2
 Web-сайт: vb.narod.ru
 Профиль | | #3
Добавлено: 19.06.04 10:27
Спасибо что оветили.
В твоем примере, он находит ошибку(подчеркивает) в 'Encoding.'.
Наверное надо как - нибуть по-другому кодировку задать.
только как?

Ответить

Номер ответа: 4
Автор ответа:
 Padre



Вопросов: 4
Ответов: 2
 Web-сайт: vb.narod.ru
 Профиль | | #4
Добавлено: 19.06.04 10:35
Всё, до меня дошло, надо писать так:

        ;Dim read As StreamReader = New StreamReader(";D:\Project\1.htm", System.Text.Encoding.GetEncoding(1251))

        ;Dim mes As String

        mes = read.ReadToEnd()
        TextBox1.Text = mes

        read.Close()

        MessageBox.Show(" Файл прочитан: c:\test.txt";)

Огромное спасибо за помощь.

Ответить

Номер ответа: 5
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #5
Добавлено: 19.06.04 15:22
или можно в самом начале написать, вот так и ничего менять не надо
Imports System
Imports System.IO
Imports System.Text

Ответить

Номер ответа: 6
Автор ответа:
 ШевТ



ICQ: 165728420 

Вопросов: 1
Ответов: 96
 Профиль | | #6 Добавлено: 21.06.04 22:55
Dim read As StreamReader = New StreamReader(";D:\Project\1.htm", System.Text.Encoding.GetEncoding(1251))

Dim mes As String

' Чтение файла построчно
While ((mes = read.ReadLine()) != False)
    text1.Append(mes)
End While

read.Close()

Ответить

Номер ответа: 7
Автор ответа:
 ШевТ



ICQ: 165728420 

Вопросов: 1
Ответов: 96
 Профиль | | #7 Добавлено: 21.06.04 22:56
ИЗВИНЯЮСЬ, вместо False пишите Nothing

Dim read As StreamReader = New StreamReader(";D:\Project\1.htm", System.Text.Encoding.GetEncoding(1251))

Dim mes As String

' Чтение файла построчно
While ((mes = read.ReadLine()) != Nothing)
    text1.Append(mes)
End While

read.Close()

Ответить

Номер ответа: 8
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #8
Добавлено: 22.06.04 09:30
Зачем такие извращения? Всё делается одной строчкой:

Dim s As String = StreamReader.ReadToEnd

Ответить

Номер ответа: 9
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #9 Добавлено: 24.06.04 12:06
Не понимаю, что вы тут пишете, можно просто написать:

Dim Obj as string

While Not EOF(1) '1 - Номер открытого файла
   OBJ = LineInput(1)
   'Или: Input(1,OBJ)
   'Здесь пишете, куда девать значение переменной
   'OBJ
End while

Стандартная функция EOF(<Номер файла>;) возвращает false, если достигнут конец файла

Ответить

Номер ответа: 10
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #10
Добавлено: 24.06.04 18:14
2 KIMPROG: забудь про пространство имён Microsoft.VisualBasic! Очень
тебе советую. Оно существует только для совместимости с VB6.

Ответить

Номер ответа: 11
Автор ответа:
 Воронков Василий



Вопросов: 1
Ответов: 90
 Профиль | | #11 Добавлено: 25.06.04 10:54
Ну не только. Там же есть API для работы с компилятором VB.NET

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам