Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для GSXL
172 / 180 / 27
Регистрация: 26.11.2011
Сообщений: 386
Записей в блоге: 1

Как прочитать первые 15 символов огромного файла

09.08.2019, 23:19. Показов 1558. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день.
Собственно вопрос в теме, файл очень большой, и что бы не грузить его весь, хотелось бы понять как можно прочитать первые 15 символов этого файла, не могу понять =(
Заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2019, 23:19
Ответы с готовыми решениями:

Прочитать первые 10 символов каждой строки из файла
Мне нужно прочитать первые 10 символов каждой строки из файла. Может функция какая есть, чтобы определенное количество символов строки из...

Как прочитать из файла первые 10 строк?
Код //Читать файл построчно, первые 10 строк for($i=0; $i<10; $i++) {$current_string=fgets($f); ...

Как прочитать первые 18 байт из бинарного файла
как прочитать первые 18 байт?

9
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
09.08.2019, 23:42
GSXL,
VB.NET
1
2
3
        Dim reader As New StreamReader("E:\2.txt")
        Dim buf(15) As Char
        reader.ReadBlock(buf, 0, 15)
1
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
09.08.2019, 23:46
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        Dim fStream As New IO.FileStream("C:\файл.txt", IO.FileMode.Open)
 
        Dim buffer() As Byte = New Byte(14) {}
 
        Dim received As Integer
 
        received = fStream.Read(buffer, 0, 15)
 
        fStream.Close()
 
        If received <> 15 Then
            'поток вернул меньше 15 байт
            Return
        End If
 
        Dim result As String = System.Text.Encoding.Default.GetString(buffer) 'или System.Text.Encoding.GetEncoding(1251).GetString(buffer) для 8-битной кодировки знака для славянских языков
 
        MsgBox(result)
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
09.08.2019, 23:47
GSXL,
VB.NET
1
2
3
4
5
6
7
8
Dim chars() As Char
ReDim chars(14)
Using sr As New StreamReader("file.txt")
    sr.ReadBlock(chars, 0, chars.Length)
End Using
 
' Если символы нужны в виде строки, то используем следующую строку
'Dim str As New String(chars)
Добавлено через 24 секунды
Sklifosofsky, байт не равен символу
2
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
09.08.2019, 23:53
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Sklifosofsky, байт не равен символу
Я ограничился 8-битной кодировкой. Разве не будет равен?
1
129 / 108 / 24
Регистрация: 11.07.2017
Сообщений: 274
09.08.2019, 23:57
Да точно
VB.NET
1
Dim buf(14) As Char
надо!
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
10.08.2019, 00:13
Sklifosofsky, если кодировка в самом деле однобайтовая, то да, но Encoding.Default может вернуть и многобайтовую кодировку. Поэтому надежнее сразу читать символы, а не байты. Кодировку при необходимости можно указать в конструкторе StreamReader.
1
 Аватар для Sklifosofsky
1086 / 916 / 213
Регистрация: 29.09.2015
Сообщений: 1,019
10.08.2019, 00:41
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Encoding.Default может вернуть и многобайтовую кодировку
Но что-то мне на практике начиная с xp и заканчивая 10, кроме как 1251 на русскоязычных машинах ничего другого больше не было.
К свойству Encoding.Default есть комментарий, что оно возвращает кодировку по ANSI, что в свою очередь кодирует символы по однобайтовой схеме.
К чему я написал такой код. Это в дополнение к 2 посту. Бывает натыкаюсь, что народ что пытается ковырять бинарники, а заголовки часто используют строго распределенную структуру, где потом производят по символьный разбор. Хотя можно и по байтам разбирать. Но опять, кто как на это смотрит.
2
 Аватар для GSXL
172 / 180 / 27
Регистрация: 26.11.2011
Сообщений: 386
Записей в блоге: 1
10.08.2019, 00:43  [ТС]
Парни, спасибо за столь скорый ответ. Не думал что побайтное чтение не грузит весь файл...
Спасибо!
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
10.08.2019, 11:03
Цитата Сообщение от Sklifosofsky Посмотреть сообщение
Но что-то мне на практике начиная с xp и заканчивая 10, кроме как 1251 на русскоязычных машинах ничего другого больше не было.
Мне тоже. Я говорил в общем. В других локализациях кодировка может быть многобайтовой. Плюс в .NET Core Encoding.Default возвращает UTF8. Поэтому если уж использовать однобайтовую кодировку, то надежнее использовать конкректную кодировку вместо Encoding.Default.

Цитата Сообщение от Sklifosofsky Посмотреть сообщение
К чему я написал такой код. Это в дополнение к 2 посту. Бывает натыкаюсь, что народ что пытается ковырять бинарники, а заголовки часто используют строго распределенную структуру, где потом производят по символьный разбор. Хотя можно и по байтам разбирать. Но опять, кто как на это смотрит.
Согласен. С учетом оговорки про Encoding.Default
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.08.2019, 11:03
Помогаю со студенческими работами здесь

Как прочитать первые буквы строк текстового файла?
Имеется текстовый файл на полтора миллиона строк. Как прочитать первые буквы его строк, не читая строки целиком?

Прочитать первые 5 символов с начала строки
Этот код читает последние 5 символов но только с конца строки.. А мне нужно прочитать первые 5 символов с начала строки.. Как это...

Как прочитать 80 строк по 80 символов из файла?
Никогда не было проблем с языками программирования, но вот момент настал. Как прочитать 80 строк по 80 символов из файла? как из файла...

Как прочитать из файла несколько символов и удалить
Есть файл неизвестного мне размера, он может быть безобидный 2кб, а может быть и 2Гб, 1 - 2 раза файл такого размера в память и выскакивает...

нужно прочитать из файла первый символ, потом первые два и т.д. язык C#.
нужно прочитать из файла первый символ, потом первые два,потом первые три и т.д. до конца файла и присвоить их переменной. и еще как...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru