Прежде всего.
Спасибо за чтение этого вопроса.
В настоящее время я новичок в Android (Как будто я уже начал изучать месяц)
А теперь мне нужно записать файлы и каталоги "RECURSIVELY" на SD-карту.
Мой код ниже вроде работает .....
private void recursiveFolderDownload(String src, Uri dst) throws SftpException {
Log.e("dst",dst.toString());
DocumentFile pickedDir = DocumentFile.fromTreeUri(context, dst);
Vector<ChannelSftp.LsEntry> fileAndFolderList = channelSftp.ls(src);
for (ChannelSftp.LsEntry item : fileAndFolderList) {
if (!item.getAttrs().isDir()) {
DocumentFile newFile = pickedDir.createFile("",item.getFilename());
write(src + "/" + item.getFilename(),newFile.getUri());
} else if (!(".".equals(item.getFilename()) || "..".equals(item.getFilename()))) {
DocumentFile newDir = pickedDir.createDirectory(item.getFilename());
recursiveFolderDownload(src + "/" + item.getFilename(), newDir.getUri());
}
}
}
Честно говоря, каждый и все файлы и каталоги, которые я пишу, просто записываются только по одному и тому же пути
, который является верхним (content: //com.android.externalstorage.documents/tree/E3AB-1A0D%3A)
Я имею в виду!
Все файлы и каталоги просто написаны сверху!
Я что-то здесь упускаю?
Если я это сделаю, пожалуйста, мудрый человек, направьте меня решение.
И еще раз, спасибо, что прочитали этот вопрос
надеюсь, у вас хороший день