Хей,
У меня есть некоторые данные, отправленные с приложением, которые должны быть скопированы на внешнем хранилище. Он вложен в пару подпапок, и я хотел бы скопировать всю структуру.
Мне трудно получить объект File для любого ressource в /assets
. Но я думаю, что я зависим от этого, потому что мне нужно что-то вроде File.isDirectory(), чтобы определить, нужно ли мне начинать копирование или погружаться глубже в систему.
Мой первый подход заключался в использовании Assets Manager, но кажется, что класс не предоставляет необходимую мне информацию. Наиболее перспективным было бы получить AssetFileDescriptor
и перейти к [FileDescriptor][2]
. Однако у них не существует метода isDirectory
.
Итак, мой другой подход прямо: создание объекта файла и быть счастливым. Однако кажется, что я бегу в этой проблеме из-за отсутствия надлежащего пути к экземпляру объекта файла. Я знаю file://android_asset
, но он не работает для конструктора file
.
Моя последняя идея должна была бы использовать InputStream (который мне нужен для копирования в любом случае) и каким-то образом фильтровать байт для значительного бита, который указывает, что этот ресурс является каталогом. Это довольно хакерское решение и, вероятно, прямо в аду неэффективности, но я не вижу другого способа обойти это.