Путь к файлу txt для Android

Я делаю:

FileReader fin = new FileReader("file:///android_asset/myFile.txt");

В Android-проекте и многих вариантах. Во время выполнения я получаю исключение, не найденное в файле. Файл присутствует и исправляется в папке с ресурсами, поэтому мой путь должен быть неправильным.

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

Solutions Collecting From Web of "Путь к файлу txt для Android"

 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; } 

Его не читают, потому что все активы в папке с ресурсами сжаты, попробуйте изменить его расширение на .mp3, затем прочитайте его, чтобы он не был сжат.

Можете ли вы использовать что-то вроде

  try { BufferedReader br = new BufferedReader(new InputStreamReader(context.getAssets().open("fileName.txt"))); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Я обнаружил, что если вы используете IDE, например Eclipse, вам может потребоваться очистить – или удалить API в каталоге bin. Кажется, что активы не обновляются, когда вы делаете сборку.

 AssetManager am = context.getAssets(); InputStream fs = am.open("myFile.txt");