ЧтениеДанных
Стд::ВводВывод::ЧтениеДанных
Доступность: Сервер
Предназначен для чтения данных из потока.
Сравнение ссылочное
Иерархия типа
Базовые типы: Объект
Примеры
Построчное чтение текстового файла
строка1
строка2
строка3
метод ПрочитатьСтрокиИзФайла(): Массив<Строка>
пер Строки: Массив<Строка>
// Существующий файл text.txt в домашнем каталоге, откуда будет выполняться чтение строк
знч Файл = новый Файл("text.txt", Файлы.ПолучитьДомашнийКаталогПользователя())
// Поток чтения будет закрыт автоматически, так как объявлен через "исп"
исп ПотокЧтения = Файл.ОткрытьПотокЧтения()
знч ЧтениеДанных = новый ЧтениеДанных(ПотокЧтения)
пока не ЧтениеДанных.ЧтениеЗавершено()
// Чтение строки до разделителя по умолчанию
знч Строка = ЧтениеДанных.ПрочитатьСтроку()
Строки.Добавить(Строка)
;
возврат Строки
;
[строка1, строка2, строка3]
Чтение двоичных данныx
метод ЗаписатьИПрочитатьДвоичныеДанные()
знч Файл = новый Файл("data.bin", Файлы.ПолучитьДомашнийКаталогПользователя())
// Поток записи в файл data.bin
исп ПотокЗаписи = Файл.ОткрытьПотокЗаписи()
знч ЗаписьДанных = новый ЗаписьДанных(ПотокЗаписи)
ЗаписьДанных.ЗаписатьБайт(255)
ЗаписьДанных.Записать(Байты{74657374}) // строка test, 4 байта
ЗаписьДанных.ЗаписатьЦелое16(-32767)
попытка
ЗаписьДанных.ЗаписатьЦелое16(32768)
поймать И: ИсключениеНедопустимыйАргумент
// Значение числового параметра выходит за рамки диапазона допустимых значений
;
ЗаписьДанных.ЗаписатьЦелое32(2147483647)
ЗаписьДанных.ЗаписатьЦелое64(9223372036854775807)
// Явное закрытие потока записи, чтобы далее прочитать данные
ПотокЗаписи.Закрыть()
// Поток чтения файла data.bin, будет закрыт автоматически, так как объявлен через "исп"
исп ПотокЧтения = Файл.ОткрытьПотокЧтения()
знч ЧтениеДанных = новый ЧтениеДанных(ПотокЧтения)
пер Байт = ЧтениеДанных.ПрочитатьБайт() // 255
пер Байты = ЧтениеДанных.Прочитать(4).ПолучитьБайты() // 74657374
пер Целое16 = ЧтениеДанных.ПрочитатьЦелое16() // -32767
пер Целое32 = ЧтениеДанн ых.ПрочитатьЦелое32() // 2147483647
пер Целое64 = ЧтениеДанных.ПрочитатьЦелое64() // 9223372036854775807
;
Чтение текстового файла с разделителем
значение1;значение2;значение3
значение4;значение5;значение6
метод ПрочитатьФайлCsv(): Массив<Массив<Байты>>
пер СтрокиБайты: Массив<Массив<Байты>>
пер ЗначенияБайты: Массив<Байты>
// Текстовый файл с разделителем, откуда будет выполняться чтение
знч Файл = новый Файл("test.csv", Файлы.ПолучитьДомашнийКаталогПользователя())
// Поток чтения будет закрыт автоматически, так как объявлен через "исп"
исп ПотокЧтения = Файл.ОткрытьПотокЧтения()
знч ЧтениеДанных = новый ЧтениеДанных(ПотокЧтения)
// Количество столбцов в строке
знч КоличествоСтолбцов = 3
// Номер текущего столбца
пер НомерСтолбца = 0
пока не ЧтениеДанных.ЧтениеЗавершено()
// Чтение сегмента данных до ";" или переноса строки
знч РезультатЧтения = ЧтениеДанных.ПрочитатьДо([";", "\в\н"])
НомерСтолбца += 1
// Добавление байтов в буфер данных строки
ЗначенияБайты.Добавить(РезультатЧтения.ПолучитьБайты())
если НомерСтолбца == КоличествоСтолбцов
// Добавление данных строки в результат
СтрокиБайты.Добавить(новый Массив<Байты>(ЗначенияБайты))
// Очистка буфера
ЗначенияБайты.Очистить()
// Очистка номера столбца, так как строка закончилась
НомерСтолбца = 0
;
;
возврат СтрокиБайты
;
Результат (байты представлены как строки):
[[значение1, значение2, значение3], [значение4, значение5, значение6]]
Конструкторы
ЧтениеДанных
Доступность: Сервер
ЧтениеДанных(Поток: ПотокЧтения)
ЧтениеДанных(Поток: ПотокЧтения, Настройки: НастройкиЧтенияДанных)
Конструктор чтения данных из потока Поток
.
ЧтениеДанных
Доступность: Сервер
ЧтениеДанных(
Поток: ПотокЧтения,
Настройки: НастройкиЧтенияДанных)
ЧтениеДанных(Поток: ПотокЧтения)
Конструктор чтения данных из потока Поток
с настройками Настройки
.
Методы
Пропустить
Доступность: Сервер
Количество
в потоке.
Возвращает количество фактически пропущенных данных.
ПропуститьДо
Доступность: Сервер
Пропускает при чтении двоичные данные до указанного маркера
Маркер
.
Если кодировка Кодировка
не задана, то используется из настроек.
Возвращает количество фактически пропущенных данных.
Прочитать
Доступность: Сервер
Прочитать(Количество: Число? = Неопределено): РезультатЧтенияДанных
Количество
из потока в байты.
Если размер не указан, будут прочитаны все данные до конца потока.
Возвращает результат чтения.
ПрочитатьБайт
Доступность: Сервер
ПрочитатьБайт(): Число?
Неопределено
.
ПрочитатьДо
Доступность: Сервер
Прочита тьДо(
Маркер: Строка|ЧитаемыйМассив<Строка>,
Кодировка: Кодировка|Строка|? = Неопределено
): РезультатЧтенияДанных
Маркер
(или одного из маркеров) в потоке.
Если кодировка Кодировка
не задана, то используется из настроек.
Возвращает результат чтения.
ПрочитатьСимволы
Доступность: Сервер
Выполняет чтение заданного количества символов
Количество
из потока в виде строки в кодировке Кодировка
.
Если количество символов не задано или задано и п ревышает количество символов в потоке, выполняется чтение всего остатка потока.
ПрочитатьСтроку
Доступность: Сервер
Выполняет чтение строки до разделителя строки
РазделительСтрок
в кодировке Кодировка
.
Если разделитель не найден, чтение выполняется до конца потока.
Если кодировка или разделитель не заданы, то используются из настроек.
Возвращает результат чтения.
ПрочитатьЦелое16
Доступность: Сервер
ПрочитатьЦелое16(ПорядокБайтов: ПорядокБайтов? = Неопределено): Число?
ПорядокБайтов
- порядок байтов, используемый при чтении числа. Если не указан, то используется порядок байтов, указанный в настройках.
Если чтение не было выполнено по причине окончания данных в потоке, возвращается Неопределено
.
ПрочитатьЦелое32
Доступность: Сервер
ПрочитатьЦелое32(ПорядокБайтов: ПорядокБайтов? = Неопределено): Число?
ПорядокБайтов
- порядок байтов, используемый при чтении числа. Если не указан, то используется порядок байтов, указанный в настройках.
Если чтен ие не было выполнено по причине окончания данных в потоке, возвращается Неопределено
.
ПрочитатьЦелое64
Доступность: Сервер
ПрочитатьЦелое64(ПорядокБайтов: ПорядокБайтов? = Неопределено): Число?
ПорядокБайтов
- порядок байтов, используемый при чтении числа. Если не указан, то используется порядок байтов, указанный в настройках.
Если чтение не было выполнено по причине окончания данных в потоке, возвращается Неопределено
.
ЧтениеЗавершено
Доступность: Сервер
ЧтениеЗавершено(): Булево