2012-02-02 2 views
27

У меня есть текстовый файл, который я хочу включить в приложение для Android, это не строковый файл, это стандартный текстовый файл. Он содержит данные, которые определяют характеристики «карты», которая нарисована на доске. Файл не является файлом XML, поэтому я не уверен, куда его следует поместить, или если это не хорошая файловая структура для Android? Вы предполагаете это сделать? Если вы находитесь под каким каталогом, вы можете их поместить? Как же вы предполагаете получить доступ к файлу? Я знаю, как использовать FileInputStreams и FileOutputStreams, мне просто нужно знать, как получить доступ к файлу. Все соответствующие ответы приветствуются и оцениваются!Где разместить текстовые файлы в каталоге на Android

+0

Кажется, что кто-то уже нашел ответ в другом вопросе [здесь] [1]. [1]: http://stackoverflow.com/questions/4087674/android-read-txt-raw-resource-file – onit

ответ

41

Используйте assets или raw папку в вашей структуре папок Android, чтобы сохранить этот файл. Для получения дополнительной информации читайте this

+1

принятый ответ здесь содержит дополнительную информацию об папке активов: http://stackoverflow.com/questions/18302603/where-to-place-assets-folder-in-android-studio – Colin

+0

Как я могу прочитать файл из папки приложения в приложении Android? Если я сохраню файл .properties в папке с ресурсами, тогда это видно через обратную инженерию. –

+1

Никогда не запекайте свои секретные вещи в приложении/исходном коде ... всегда запрашивайте у источника в Интернете, где у вас будет больше контроля. Это правило. – waqaslam

19

Вы должны поместить свой файл в папку с ресурсами, как сказал Вакас.

Теперь для доступа к нему вы делаете это так.

Я приведу вам пример, используя BufferedReader

BufferedReader reader = new BufferedReader(
       new InputStreamReader(getAssets().open("YourTextFile.txt"))); 

Будьте осторожны. В моем случае я не знаю, почему на данный момент я не могу читать текстовые файлы размером более ~ 1 МБ, и мне пришлось разбить их на несколько небольших файлов. Похоже, что у другой была такая же проблема с размером файла, но я не нашел никакой информации об этом на сайте разработчика Android. Если какой-либо один знает больше об этом ....

РАЗВЕЙТЕ

Моя проблема с 1Мб было связано с ноу ошибка/ограничения ранних версий Android. Начиная с использования последних версий Android, этой проблемы больше нет.

+0

Мне просто не хватало Waqas, показывая пример, когда вы спрашивали: «Мне просто нужно знать, как получить доступ к файлу», и поэтому для меня ответ был «неполным», а также дать вам предупреждение о размере текстового файла. Но это не соревнование! Мы здесь, чтобы помочь друг другу. – HpTerm

+3

Вы можете получить доступ к активам без открытия потока и чтения байта файла байтом. Вместо этого вы можете использовать 'file: // android_asset/file.txt', который дает вам доступ к файлу сразу. Вы можете создать объект File из него или сделать все, что захотите. – asenovm

Смежные вопросы