Imaging, wollen Sie, wenn „/folder/subfolder/subsubfolder/test/test.txt“ Datei Ausfahrten überprüfen, würden Sie folgende:SAF Documentfile - überprüfen Sie, ob Pfad vorhanden ist, ohne bei jeder Ordnerebene jedes Documentfile Erstellen
DocumentFile sdCard = ...; // i have already retrieved the sd card root with the users help via SAF
String path = "<SD CARD>/folder/subfolder/subsubfolder/test/test.txt";
List<String> pathParts = Arrays.asList(path.split("/"));
DocumentFile doc = sdCard;
// go through all folders, starting at sd card, to check, if the desired file exists
for (int i = 1; i < pathParts.size(); i++)
{
DocumentFile nextDoc = doc.findFile(pathParts.get(i));
if (nextDoc != null)
doc = nextDoc;
else
{
doc = null;
break;
}
}
if (doc == null)
{
// file does not exist
}
else
{
// file does exist
}
Dies ist sehr langsam, gibt es eine schnellere Möglichkeit, zumindest zu überprüfen, ob eine Datei auf der SD-Karte vorhanden ist? Ich mag nicht jeden DocumentFile
nur für die Überprüfung erstellen, wenn ein Pfad existiert ...
wenn Sie eine Lösung haben? – Haryanto
nicht besser als die in meiner Frage geschrieben ... – prom85