Студия Android: Где я должен поместить двоичный файл для чтения с объектом RandomAccessFile?

113
10

Я хотел бы открыть двоичный файл, содержащийся в форме массива. Для случайного доступа я использовал RamdomAccessFile. Я помещаю файл в ту же папку, что и файл класса java. Я написал код следующим образом:

File file = new File("table.bin");
RandomAccessFile raf = new RandomAccessFile(file, "r");

Но консоль говорит "нет такого файла или каталога". Затем я перешел в папку с ресурсами и получил одно и то же сообщение. Он работал хорошо, когда я использовал этот код в обычном (не Android Studio) java файле, а table.bin - в той же папке.

Где в папке проекта я должен разместить файл?

спросил(а) 2016-04-17T16:41:00+03:00 4 года, 5 месяцев назад
1
Решение
56

Где в папке проекта я должен разместить файл?

Если вы хотите отправить этот файл в свое приложение, поместите его в assets/. Однако имейте в виду, что это файл только на вашей машине разработки. Это не файл на устройстве. На устройстве это всего лишь запись в вашем файле APK. Вы можете получить InputStream на этом через AssetManager.

Если вам абсолютно необходимо, чтобы это был файл - вам нужен RandomAccessFile, вы хотите изменить содержимое и т.д. - используйте InputStream чтобы сделать копию данных в файл в локальной файловой системе, например, на внутреннем хранилище. Затем вы можете работать с этим файлом.

ответил(а) 2016-04-17T16:51:00+03:00 4 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема