2016-05-11 3 views
0

У меня есть сторонняя библиотека, которая принимает объект File и изменяет его. Теперь после получения разрешения на SD карту с помощьюLollipop SDCard Документ напишите

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); 

И выбрать корень SD-карты.

затем пользователь просматривает файлы, которые он хочет изменить. Теперь это файл/путь к файлу файла. Мне нужно перейти к классу сторонней библиотеки.

DocumentFile documentFile = DocumentFile.fromFile(file); 
String documentURI = documentFile.getUri().toString(); 
MP3File mp3File = null; 

documentFile = DocumentFile.fromFile(file); 
mp3File = new MP3File(file.getAbsolutePath()); 

Здесь класс MP3File принимает путь к файлу. но у этого класса нет конструктора документа.

Могу ли я преобразовать документ в записываемый файл, который я могу заменить исходным файлом? Или есть более простое решение?

ответ

2

Теперь после получения разрешения на использование SD-карты, используя ... И выбрав корень SD-карты.

Пользователь не должен выбирать какой-либо конкретный документ. Документ может содержать на съемном носителе или внешнем хранилище или на Google Диске или Dropbox, или на файловом сервере или в любом другом месте, к которому пользователь может получить доступ.

Теперь этот путь к файлу/файлу этого файла Мне нужно перейти в класс сторонней библиотеки.

Для этого документа нет «пути/файла».

Здесь класс MP3File принимает путь к файлу

Либо:

  • Найти лучшую библиотеку, один, который принимает InputStream и/или OutputStream, так что вы можете работать с документом, где он находится, или

  • Использование Java I/O для копирования содержимого документа в локальный файл, который вы контролируете, n передать этот файл в библиотеку

Смежные вопросы