Что нового

Как прочитать часть большого файла?

Пост номер 2 был отмечен как лучший ответ.

sterro_sasha

Новичок
Сообщения
29
Репутация
0
Скажите пожалуйста как прочитать часть файла? Файл большого размера, поэтому FileRead не работает.

Но не могу разобраться с командой FileSetPos..

Код:
#include <Constants.au3>

$sFileIn = @ScriptDir & '\In.txt'

$hFile = FileOpen($sFileIn)

;указываем участок для чтения
FileSetPos($hFile, 2, 0) ;начало для чтения - сдвиг на 2 байта
FileSetPos($hFile, 15, 2) ;конец для чтения - сдвинг на 15 байтов

$ZZZZ = FileRead($hFile)
FileClose($hFile)

MsgBox(64,'',$ZZZZ) ;читаем часть файла начиная с 2 байтов сдвига и до 15


Файл большой - может у FileSetPos есть какие то ограничения?
 

Tempo

Скриптер
Сообщения
515
Репутация
159
Справка сказал(а):
FileSetPos
Устанавливает текущую позицию указателя в файле.
Для того что бы прочитать часть файла с указанной позиции укажите количество символов/байтов в FileRead (второй параметр)
Код:
#include <Constants.au3>

$sFileIn = @ScriptDir & '\In.txt'

$hFile = FileOpen($sFileIn)

;указываем участок для чтения
FileSetPos($hFile, 2, $FILE_BEGIN) ;Смещение от начала файла на 2 символа
$sData = FileRead($hFile, 13) ;чтение 13 символов

FileClose($hFile)

MsgBox(64, '', $sData)
 
Верх