169 похожих чатов

Всем привет, через ACTION_OPEN_DOCUMENT получаю uri файла и создаю file

= File(uri.path), этот файл на, exists возвращает null, как исправить? В гугле ответа не нашел, разрешения получены

8 ответов

23 просмотра

ha-ha, classic нет там никакого файла, читай данные через ContentResolver

Данил
мне нужен именно File

системе всё равно, что тебе нужно. Нет файла

Данил
мне нужен именно File

Для чего? Если приложение не файловый менеджер то почти все можно через content resolver сделать

Если там "непрозрачный" ури типа content:dhfdfhhfd2455 то ни открыть ни создать файл с таким путем нельзя. Этот ури можно только открыть через контент провайдер как inputStream и выкачать из него байты. Если нужен File с его содержимым - создай временный файл сам и сохрани содержимое туда.

Данил- Автор вопроса
Сергей П.
Если там "непрозрачный" ури типа content:dhfdfhhfd...

обычный Uri, просто есть модуль для обновления прошивки, вот мне и нужен File, данные я и так могу считать. До этого с файлами мало работал

Данил- Автор вопроса
Сергей П.
Если там "непрозрачный" ури типа content:dhfdfhhfd...

а можешь скинуть ссылку, как это сделать, с ContentProvider почти не работал, нагуглить не получается

Данил
а можешь скинуть ссылку, как это сделать, с Conten...

val parcelFileDescriptor: ParcelFileDescriptor = appContext.contentResolver.openFileDescriptor(uri, "r") val fileDescriptor: FileDescriptor = parcelFileDescriptor.fileDescriptor val inputStream = FileInputStream(fileDescriptor) дальше из инпутСтрима читаешь как обычно из файла, все байты запбрать и вывести в другой поток, который от созданного тобой File - и File вернуть

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта