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)
— запись строки в бинарном режиме