Вопрос

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?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top