Hallo zusammen,
ich würde gerne eine XML Datei in meiner App verwenden. Hierfür möchte ich diese XML über einen BufferedInputStream laden (Habe aber auch schon FileInputStream probiert). Passend hierfür gibt es eine Methode, die meinem XML-Parser einen BufferedInputStream übergeben soll. Mein Problem ist, dass ich beim Laden der XML-Datei eine FileNotFoundException bekomme: EACCES (Permission denied). Mein Code mit einigen "Diagnose-Toast" steht unten.
private BufferedInputStream loadXML() {
//Definition der Methodenvariablen
File file = new File("/sdcard/Iteration_1.xml");
//Diagnosecode: Exisitiert die Datei?
if (file.exists()) {
Toast.makeText(getApplicationContext(),"Datei existiert am Ort", Toast.LENGTH_SHORT).show();
}
try {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
if (bis != null) {
Toast.makeText(getApplicationContext(), "Datei geladen", Toast.LENGTH_SHORT).show();
}
return bis;
} catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Datei nicht geladen", Toast.LENGTH_SHORT).show();
return null;
}
}
Alles anzeigen
Ich habe bereits:
- Gecheckt, dass im Manifest die Berechtigung WRITE_EXTERNAL_STORAGE steht
- Die Dateien über den ADM auf das Image geschoben
- Hierbei sowohl das /storage Verzeichnis als auch das /sdcard Verzeichnis probiert
- Den Dateipfad wahlweise als String oder als File übergeben
Wäre super, wenn jemand sieht wo mein Fehler liegt!