Ich benutze react-native-fs und aus irgendeinem Grund, wenn ich die exists() Methode immer als TRUE zurückgibt. Eine Probe von meinem Code sieht wie folgt aus:RNFS.exists() liefert immer TRUE
let path_name = RNFS.DocumentDirectoryPath + "/userdata/settings.json";
if (RNFS.exists(path_name)){
console.log("FILE EXISTS")
file = await RNFS.readFile(path_name)
console.log(file)
console.log("DONE")
}
else {
console.log("FILE DOES NOT EXIST")
}
Der Ausgang an der Konsole wird „Datei vorhanden“ ist, dann wird ein Fehler ausgelöst, der sagt:
Error: ENOENT: no such file or directory, open /data/data/com.test7/files/userdata/settings.json'
Wie kann es existieren die exists
Methode , aber nicht die readFile
Methode?
Bei weiterer Überprüfung scheint es, dass RNFS.exists() immer True zurückgibt, egal was der Dateiname ist. Warum kehrt es immer wieder wahr?
Eine Anzeige von path_name sagt /data/data/com.test7/files/userdata/settings.json
.
Auch wenn ich meinen Code zu etwas unsinnig ändern wie den folgenden Code:
if (RNFS.exists("blah")){
console.log("BLAH EXISTS");
} else {
console.log("BLAH DOES NOT EXIST");
}
Es ist noch zu true ausgewertet und zeigt die Meldung:
BLAH EXISTS
ich den Inhalt des Verzeichnisses angezeigt haben und verifiziert, dass diese Dateien nicht existieren.
Versuch 'console.log' auf' path_name' von Fehlerprotokoll sieht es aus wie nicht richtig – Val
@val Interessant, es sagt '/data/data/com.test7/files/userdata/settings.json'. Nicht sicher, warum es/Daten zweimal hat oder wenn es das ist, was es sein soll. – kojow7
@Val Auch hatte ich ursprünglich "undefined" in meiner Fehlermeldung, obwohl ich denke, dass dies von einem Rechtschreibfehler von DocumentDirectoryPath in meinem Testfall war. Das ist jetzt behoben und ich habe meine Frage entsprechend angepasst. – kojow7