files
Содержит функции для работы с файлами
Константы
FILES_COMPARATOR : function = def(f1, f2) = compare(f1, f2)
функция, которая сравнивает два файловых дескриптора
SDCARD : string android = path to SDCARD
путь к внешнему хранилищу
Функции
canExecute(f) — проверяет права на выполнение дескриптора f
canRead(f) — проверяет права на чтение дескриптора f
canWrite(f) — проверяет права на запись дескриптора f
copy(src, dst) — копирует файл src в dst
delete(f) — удаляет файл или папку. Возвращает 1, если удаление прошло успешно, иначе - 0
exists(f) — проверяет, существует ли файл или папка. Возвращает 1, если существует, иначе - 0
fclose(f) — закрывает файл
fileSize(f) — возвращает размер файла в байтах
flush(f) — сбрасывает буфер записи в файл
fopen(path, mode = "r") — открывает файл по пути path в заданном режиме mode:
- "" - открывает файл или папку для получения информации;
- "r" - открывает файл для чтения в текстовом режиме;
- "rb" - открывает файл для чтения в бинарном режиме;
- "w" - открывает файл для записи в текстовом режиме;
- "w+" - открывает файл для дозаписи в текстовом режиме;
- "wb" - открывает файл для записи в бинарном режиме;
- "wb+" - открывает файл для дозаписи в бинарном режиме.
Возвращает дескриптор файла, который необходим для остальных функций.
use files
f1 = fopen("text.txt") // открывает файл text.txt для текстового чтения
f2 = fopen("E:/1.dat", "rbwb") // открывает файл 1.dat на диске E для бинарного чтения и записи"
getParent(f) — возвращает родительский путь для заданного дескриптора f
isDirectory(f) — проверяет, является ли дескриптор f папкой. 1 - является, 0 - нет
isFile(f) — проверяет, является ли дескриптор f файлом. 1 - является, 0 - нет
isHidden(f) — проверяет, скрыт ли дескриптор f. 1 - скрыт, 0 - нет
lastModified(f) — возвращает время последнего изменения
listFiles(f) — возвращает массив с именами файлов в указанной директории.
f - дескриптор папки
use files
f1 = fopen("E:/examples", "") // открыть папку examples для получения информации
list = listFiles(f1) // получить массив с именами файлов в этой папке
mkdir(f) — создаёт папку. Возвращает 1, если создание прошло успешно, иначе - 0
mkdirs(f) — создаёт папки. Возвращает 1, если создание прошло успешно, иначе - 0
readAllBytes(f) — чтение всех байт файла. Возвращает массив байт файла
use std, files
f1 = fopen("file.bin", "rb")
array = readAllBytes(f1)
println length(array)
readBoolean(f) — чтение boolean-значения (1 байт). Возвращает 0, если байт имеет значение 0, 1 - если значение не равно 0
readByte(f) — чтение одного байта
readBytes(f, array, offset = 0, length = length(array)) — чтение заданного количества байт в массив array. Возвращает число прочитанных байт.
Если offset и length не указаны, то читается количество байт равное длине массива.
Если offset и length указаны, то читается length байт в массив array, начиная с offset+1 байта
use files
f1 = fopen("file.bin", "rb") // file.bin должен иметь больше 5000 байтов
array = newarray(2048)
readCount = readBytes(f1, array) // читает 2048 байт из файла
readCount = readBytes(f1, array, 10) // читает 2048 байт, начиная с 11 байта
readCount = readBytes(f1, array, 20, 10) // читает 10 байт, начиная с 21 байта
readChar(f) — чтение одного символа (2 байта). Возвращает число - код символа
readDouble(f) — чтение 8 байт (вещественное число двойной точности)
readFloat(f) — чтение 4 байт (вещественное число)
readInt(f) — чтение 4 байт (целое число)
readLine(f) — чтение строки в текстовом режиме
readLong(f) — чтение 8 байт (длинное целое число)
readShort(f) — чтение 2 байт (короткое целое число)
readText(f) — чтение всего файла в текстовом режиме в строку
readUTF(f) — чтение строки в бинарном режиме
rename(from, to) — переименование (или перемещение) файла
use files
f1 = fopen("C:/file1", "i")
f2 = fopen("E:/file2", "i")
rename(f1, f2)
fclose(f1)
fclose(f2)
setLastModified(f, time) — устанавливает время изменения
setReadOnly(f) — помечает дескриптор только для чтения
setExecutable(f, executable, ownerOnly = true) — устанавливает права на выполнение
setReadable(f, readable, ownerOnly = true) — устанавливает права на чтение
setWritable(f, writable, ownerOnly = true) — устанавливает права на запись
writeBoolean(f, v) — запись одного байта boolean (0 или 1) в файл
writeByte(f, v) — запись одного байта в файл
writeBytes(f, array, offset = 0, length = length(array)) — запись заданного количества байт в файл f из массива байт array.
Если offset и length не указаны, то записывается количество байт равное длине массива.
Если offset и length указаны, то пропускается offset байт и записывается length байт
writeChar(f, v) — запись одного символа (2 байта) в файл. v может быть как числом (пишется это число), так и строкой (пишется код первого символа)
writeDouble(f, v) — запись 8 байт (вещественное число двойной точности)
writeFloat(f, v) — запись 4 байт (вещественное число)
writeInt(f, v) — запись 4 байт (целое число)
writeLine(f, v) — запись строки в текстовом режиме Добавляет в конец символ переноса строки
writeLong(f, v) — запись 8 байт (длинное целое число)
writeShort(f, v) — запись двух байт (короткое целое число)
writeText(f, v) — запись всего текста в текстовом режиме. В отличие от writeLine, не добавляет символ переноса строки
writeUTF(f, v) — запись строки в бинарном режиме