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