...Стд::ВводВыводЧтениеДанныхСодержание этой страницыЧтениеДанных Стд::ВводВывод::ЧтениеДанных Предназначен для чтения данных из потока. Сравнение Ссылочное Иерархия типа Базовые типы: Объект Примеры Общие примеры Построчное чтение текстового файла строка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]] Конструкторы ЧтениеДанных ЧтениеДанных(Поток: ПотокЧтения) Конструктор чтения данных из потока Поток. Перегрузка ЧтениеДанных(Поток: ПотокЧтения, Настройки: НастройкиЧтенияДанных) ЧтениеДанных ЧтениеДанных( Поток: ПотокЧтения, Настройки: НастройкиЧтенияДанных) Конструктор чтения данных из потока Поток с настройками Настройки. Перегрузка ЧтениеДанных(Поток: ПотокЧтения) Методы Пропустить