

Lib_jsr75
Создание, чтение, запись файлов в файловой системе

---

Список функций:

get_roots: string;
 - получение разделов (дисков)
get_dirs(path: string): string;
 - получение подпапок в заданной папке. Алгоритм оптимизирован.
get_files(path: string): string;
 - получение файлов в заданной папке. Алгоритм оптимизирован. Пример: my_file.ext
get_dirs_with_path(path: string): string;
 - получение с полным путем подпапок в заданной папке. Пример: /b/mobile/my_dir
get_files_with_path(path: string): string;
 - то же самое, но файлов в заданной папке. Алгоритм оптимизирован.
get_path(name: string): string;
 - извлекает из name подстроку пути (аналог функции ExtractFilePath из Delphi)
get_name(name: string): string;
 - извлекает из name подстроку имени файла (аналог функции ExtractFileName из Delphi)
get_url(name: string): string;
 - то же самое, что get_path, но с file:// в начале

read_file(name: string): string;
 - чтение файла с преобразованием ASCII->Unicode
read_file_a(name: string): string;
 - чтение без преобразований
write_file(name: string, info: string);
 - запись в файл name данных, содержащихся в строке info с преобразованием Unicode->ASCII
write_file_a(name: string, info: string);
 - то же самое, но без преобразований

file_exists(name: string): integer;
 - проверка существования файла. Возвращает 1 если существует
file_create(name: string);
 - создание файла
file_rename(name1: string, name2: string);
 - переименовать файл name1 в name2
file_size(name: string): integer;
 - получение размера файла в байтах
file_canread(name: string): integer;
 - возращает 1 если возможно прочесть файл
file_canwrite(name: string): integer;
 - возращает 1 если возможно записывать в файл
delete_file(name: string);
 - удаление файла

open_file(name: string): integer;
 - открыть файл. Возвращает 1, если успешно
read_byte: integer;
 - прочесть байт (пример, A0=-96)
read_uns_byte: integer;
 - прочесть unsigned байт (A0=160)
read_bytes(off: integer, len: integer): string;
 - чтение len байт по адресу off, возвращает в строке
write_byte(b: integer);
 - записать байт
flush;
 - вызывается после записи всех байтов (что-то типа "записать из кэша на диск")
skip(offset: integer);
 - аналог seek, работает только для чтения
reset;
 - установка "курсора" чтения на 0
read_string: string;
 - прочесть строку
write_string(s: string);
 - записать строку
close_file(name: string): integer;
 - закрыть файл
get_stream: InputStream;
 - открыть файл как ресурс; доступны все операции с ресурсом


Передавать имена файлов нужно так:
jsr75i.open_file('/b/mobile/audio/my_song.mp3');

ВНИМАНИЕ!
Перед компиляцией проверьте соответствие путей.
При неправильном использовании МОЖНО ПОВРЕДИТЬ ФАЙЛЫ ТЕЛЕФОНА!

---

by Piligrim
Доработка: 0vZ, Piligrim :)
