Я работаю над приложением для Android, а часть его - импортировать файл PDF с SD-карты, а затем отображать его в текстовом режиме. Я использую itext для создания .txt-файла из pdf. У меня возникла проблема при отображении содержимого файла .txt в текстовом представлении. кто может помочь.android: ошибка при отображении .txt-файла в текстовом виде
ответ
openFileInput()
не принимает разделители пути. ('/'). Он принимает только имя файла, который вы хотите открыть/получить. Таким образом изменить заявление,
InputStream in = openFileInput(String.valueOf(filepath));
к,
FileInputStream in = FileInputStream(filepath);
Также нет необходимости конвертировать filepath
в String
как FileInputStream
может принимать File
типы.
Документация для ContextWrapper.openFileInput()
конкретно говорит, что вы не можете указать путь.
name String: The name of the file to open; can not contain path separators.
openFileInput
для работы с частными файлами, которые я думаю, значит файлы вашего приложение создает для целей вашего приложения, так что он будет сохранен в отдельном каталоге приложений данных.
Я не читал через весь фрагмент кода, но при условии, что вы правильно инстанцировании File
объекта, и вы просто хотите FileInputStream
, вы должны быть в состоянии только один экземпляр непосредственно:
InputStream in = new FileInputStream(filepath);
Убедитесь, что ваше приложение имеет разрешение на доступ к файлам.
http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator? – user3367946
[http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator](http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a -path-separator) – user3367946
[http://stackoverflow.com/questions/5963535/java-lang-illegalargumentexception-contains-a-path-separator](http://stackoverflow.com/questions/5963535/java-lang- IllegalArgumentException-содержит-а-путь-сепаратор) – user3367946