Android путь к файлу asset txt
Я делаю:
FileReader fin = new FileReader("file:///android_asset/myFile.txt");
В проекте для Android и во многих вариациях. Во время выполнения я получаю файл не найдено исключение. Файл присутствует и исправлен в папке assets, поэтому мой путь должен быть неправильным.
Какой абсолютный путь мне здесь нужен?
6 ответов:
AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt"); FileReader reader = new FileReader(descriptor.getFileDescriptor());Попробуйте использовать вышеописанное с FileDescriptors. Похоже, это самый надежный способ, который я нашел, чтобы собрать пути активов.
InputStream is = getResources().getAssets().open("terms.txt"); String textfile = convertStreamToString(is); public static String convertStreamToString(InputStream is) throws IOException { Writer writer = new StringWriter(); char[] buffer = new char[2048]; try { Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { is.close(); } String text = writer.toString(); return text; }
Можете ли вы использовать что-то вроде
try { BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt"))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Его не читают, потому что все активы в папке assets сжаты, попробуйте изменить его расширение на .mp3, а затем прочитать его, что должно остановить его от сжатия.
Я обнаружил, что если вы используете IDE, такую как Eclipse, вам может потребоваться выполнить очистку или удалить API в каталоге bin. Похоже, что активы не обновляются, когда вы делаете сборку.
Comments