Подтвердить что ты не робот

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

Я делаю:

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

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

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

4b9b3361

Ответ 1

AssetFileDescriptor descriptor = getAssets().openFd("myfile.txt");
FileReader reader = new FileReader(descriptor.getFileDescriptor());

Попробуйте использовать вышеописанное с помощью FileDescriptors. Кажется, это самый надежный способ найти пути активов.

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

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