Теперь, если я попробую первый URL с префиксом файла в считывателе «FileReader», он выдаст исключение, что файл не найден, хотя в WebView он работает без проблем (почему?)
Поскольку «File Reader» не имеет ресурса с именем /myfile.txt
, предположительно. «File Reader» - это чужая программа, а не ваша, поэтому file:///android_asset/myfile.txt
относится к активу этой другой программы, а не к вашей.
То, что я хочу, это создать функцию, которая может взять файл или http URL и получить html содержимого, используя полный путь "file: /// ...", как я могу сделать это, не сталкиваясь с исключением файла не найден
Имейте актив с именем /myfile.txt
в своем приложении.
Я не пытался использовать стандартный ввод-вывод Java (например, File
объекты) для чтения путей file:///android_asset
. Это может сработать. Если нет, используйте startsWith()
, чтобы определить, начинается ли строка с file:///android_asset
- если это так, обрежьте это и используйте оставшуюся часть с AssetManager
, чтобы прочитать актив.