Android-путь к моему файлу - PullRequest
0 голосов
/ 11 мая 2011

Я использую очень сложный метод (не написанный мной) в моем приложении для Android, который принимает параметр String «путь», а затем открывает и анализирует файл по этому пути. Проблема заключается в следующем: когда я устанавливаю путь к файлу на моей SD-карте (например: Environment.getExternalStorageDirectory () + "/ myfile.txt" ), он работает нормально. Но я не хочу, чтобы мой файл был доступен для пользователя, поэтому я попытался указать путь к папке ресурсов в моем проекте, куда я скопировал файл, и с помощью этого пути он не будет работать. Путь, который я использовал для файл в папке с активами был таким: file: ///android_asset/myfile.txt Так почему первый путь работает нормально, а второй ничего не делает?

Спасибо

Ответы [ 2 ]

1 голос
/ 11 мая 2011

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

0 голосов
/ 13 мая 2011

Итак, я сделал следующее: я написал метод, который копирует файл из ресурсов в каталог данных моего приложения и затем отправляет этот путь «очень сложному методу».Теперь работает нормально.Пример кода (возможно, он поможет другим в будущем):

///, открывающий файл из папки ресурсов

InputStream in = getAssets (). Open ("myfile.txt");

/// создавая вывод и расположение к нему

/// вы можете установить любой путь, который вам нравится

(новый файл ("data / data / myAppPackageName/databases/")).mkdirs();

OutputStream out = new FileOutputStream ("data / data / myAppPackageName / database / myfile.txt");

/// скопировать метод из"in" to "out"

Путь, передаваемый в качестве параметра «очень сложному методу»: «data / data / myAppPackageName / database / myfile.txt"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...