Не могу прочитать файлы ресурсов из apk - PullRequest
0 голосов
/ 26 июля 2011

Мое приложение содержит некоторые файлы .txt, которые нужно прочитать.

Раньше я читал их, используя Inputstream:

Class c = this.getClass();
   InputStream is = c.getResourceAsStream("/fileName.txt");

по соображениям эффективности мне нужно было прочитать их, используя RandomAccessFile.

Поскольку я не могу использовать c.getResourceAsStream (), мне нужно найти другой способ получить файлы.

Я попробовал следующий код:

Class c = this.getClass();
URL fileURL = c.getResource("/fileName.txt");
File file =new File(fileURL.getPath());

или

File file =new File(fileURL.toURI());

но не удалось найти файл.

Я думаю, что мне не хватает чего-то фундаментального, может кто-нибудь, пожалуйста, помогите мне?

Ответы [ 2 ]

3 голосов
/ 26 июля 2011

Где у вас изначально есть файл? Это в папке raw, папке assets ...?

2 голосов
/ 08 марта 2012

Просто хочу добавить немного больше деталей, чтобы объяснить, почему File file =new File(fileURL.getPath()); не работает.Все в вашем приложении содержится в вашем файле .akp, который является просто переименованным файлом .zip.Это означает, что когда ваше приложение запрашивает файл из каталога ресурсов, по этому пути файл фактически не существует.использование InputStream is = this.getAssets().open("fileName.txt"); откроет apk и посмотрит туда.

...