A
Size: a a a
S
io.open:local file = io.open("path/to/file.fmt", "rb")
Второй аргумент — режим открытия файла. Тебя интересуют в основном три режима:r — режим чтения, курсор в начале файлаw — режим записи, содержимое файла очищается в момент открытия в этом режимеa — режим дополнения, содержимое файла сохраняется, курсор установлен в конец файлаb" ("wb/rb/ab") — оно начнёт читать/писать в бинарном формате, без дополнительной пред/постобработки файлов. Крайне советую использовать его ВСЕГДА, потому что пред-постобработка может сильно мешать парсингу файла.+" — текущий режим открытия начинает работать и на чтение, и на запись. То есть можно одновременно считывать и записывать этот файл, а режим "ab+" позволяет дополнять файл, считывать его содержимое и дописывать.local file = io.open("bla.txt", "rb")
local block1 = file:read(30) -- считываем первые 30 байт
local block2 = file:read(20) -- считываем следующие 20 байт
Курсор — текущее положение в файле, буквально как будто ты открыл его в блокноте и двигаешь кнопками-стрелками курсор, при чтении и записи — курсор перемещается на новую позицию.file:seek("mode", bytes). Им можно перемещать курсор на конкретную позицию в байтах seek:("set", 100500), в начало ("set", 0) и в конец ("end") файла. function fsize (file)Соответственно, в режиме записи, можно передвинуть курсор на нужную позицию и вписать в середину файла кусочек данных. Но так как файл может расширяться только с конца, оно перетрёт то что было на тех байтах, в которые встало то что ты записал (как ввод текста с включённым
local current = file:seek() -- get current position
local size = file:seek("end") -- get file size
file:seek("set", current) -- restore position
return size
end
insert на клавиатуре).file:close(), потому что хендлер файла останется жив пока его не соберёт сборка мусора хрен знает когда.𝒓
io.open:local file = io.open("path/to/file.fmt", "rb")
Второй аргумент — режим открытия файла. Тебя интересуют в основном три режима:r — режим чтения, курсор в начале файлаw — режим записи, содержимое файла очищается в момент открытия в этом режимеa — режим дополнения, содержимое файла сохраняется, курсор установлен в конец файлаb" ("wb/rb/ab") — оно начнёт читать/писать в бинарном формате, без дополнительной пред/постобработки файлов. Крайне советую использовать его ВСЕГДА, потому что пред-постобработка может сильно мешать парсингу файла.+" — текущий режим открытия начинает работать и на чтение, и на запись. То есть можно одновременно считывать и записывать этот файл, а режим "ab+" позволяет дополнять файл, считывать его содержимое и дописывать.local file = io.open("bla.txt", "rb")
local block1 = file:read(30) -- считываем первые 30 байт
local block2 = file:read(20) -- считываем следующие 20 байт
Курсор — текущее положение в файле, буквально как будто ты открыл его в блокноте и двигаешь кнопками-стрелками курсор, при чтении и записи — курсор перемещается на новую позицию.file:seek("mode", bytes). Им можно перемещать курсор на конкретную позицию в байтах seek:("set", 100500), в начало ("set", 0) и в конец ("end") файла. function fsize (file)Соответственно, в режиме записи, можно передвинуть курсор на нужную позицию и вписать в середину файла кусочек данных. Но так как файл может расширяться только с конца, оно перетрёт то что было на тех байтах, в которые встало то что ты записал (как ввод текста с включённым
local current = file:seek() -- get current position
local size = file:seek("end") -- get file size
file:seek("set", current) -- restore position
return size
end
insert на клавиатуре).file:close(), потому что хендлер файла останется жив пока его не соберёт сборка мусора хрен знает когда.S
𝒓
𝒓
LU
LU
𝒓
𝒓
LU
𝒓
𝒓
LU
𝒓
𝒓