Ресурсы Android с подпапками
Вопрос
InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
У меня есть файл в папке с ресурсами в подпапке, как указано выше.Однако он не получает файл. Есть ли специальный способ указать подпапку в папке ресурсов?
Ян
Решение
Редактировать: ошибался в подпапках.
Этот код работает совсем хорошо на 1.5 (для файла sample.txt
размещены под sub
папка внутри assets
):
InputStream is = getAssets().open("sub/sample.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
Log.e("wtf", line);
}
br.close();
Вы уверены, что у вас есть имена верно?
Другие советы
"MyFolder/" + "MyFile.db3"
Имя файла для файлов, добавленных в папку активов, должно быть в строчной букве. Итак, имя файла, такое как MyFolder и MyFile.db3, недействителен. Переименуйте их на «MyFolder» и «MyFile.db3», то все будет хорошо.
Размер вашего файла ресурса превышает 1 МБ?
Я заметил, что получаю такое же странное пустое исключение IOException, если пытаюсь открыть ресурс, размер которого превышает этот размер.Тот факт, что он находится в подпапке, может быть отвлекающим маневром.Я пытаюсь открыть большой текстовый файл, чтобы обойти это ограничение, разделив его.Можете ли вы сделать что-то подобное со своим файлом .db3?