Имплементация файловой системы, хранящейся в одном файле.
Реализован собственный FileSystemProvider
, так что можно использовать как обычную нестандартную файловую систему.
В модуле Example
находится пример, который:
- Создает файловую систему OFS на основе временного файла.
- Копирует файл изображения из папки с ресурсами в OFS
- Загружает файл изображения из OFS и отображает его.
В проекте FileSystem находится собственно имплементация. Особенности:
- Файловая система выделяет память блоками по 1 кБ.
- Блоки освобождаются при удалении файлов и потом туда пишутся новые файлы.
- Максимальный поддерживаемый размер файла около 200 килобайт.
- Поддерживается только однопоточный доступ.
- Метаинформация содержит заглушки времени создания/удаления/последней модификации.
- В тестах можно найти примеры использования, особенно в
FileSystem/src/test/java/ofs/JavaPathsAndFilesAPIIntegrationTest.java
- Тесты требуют форка JVM для каждого класса.
👍