Я пытаюсь использовать каталог, который у меня есть в папке с моими ресурсами, и обращаюсь к нему как к File
. Возможно ли получить доступ к чему-либо в каталоге "Активы" как File
? Если нет, как я могу скопировать каталог из папки "Активы" в локальный каталог приложения?
Я бы скопировал такой файл:
try
{
InputStream stream = this.getAssets().open("myFile");
OutputStream output = new BufferedOutputStream(new FileOutputStream(this.getFilesDir() + "/myNewFile"));
byte data[] = new byte[1024];
int count;
while((count = stream.read(data)) != -1)
{
output.write(data, 0, count);
}
output.flush();
output.close();
stream.close();
}
catch(IOException e)
{
e.printStackTrace();
}
Однако я не уверен, как это сделать для каталога.
Я бы предпочел не строить свою инфраструктуру вокруг чего-то, что не работает, так как мне скопировать каталог из Assets в локальный каталог или можно получить доступ к каталогу в моих активах как File
?
ИЗМЕНИТЬ
Вот как я решил это для моего собственного проекта:
InputStream stream = null;
OutputStream output = null;
for(String fileName : this.getAssets().list("demopass"))
{
stream = this.getAssets().open("directoryName/" + fileName);
output = new BufferedOutputStream(new FileOutputStream(this.getFilesDir() + "/newDirectory/" + fileName));
byte data[] = new byte[1024];
int count;
while((count = stream.read(data)) != -1)
{
output.write(data, 0, count);
}
output.flush();
output.close();
stream.close();
stream = null;
output = null;
}