In meiner app der Benutzer eine XML-Datei über eine Absicht zur Auswahl:Android erstellen String von XML-Dateipfad
Auswahl:
Intent chooseFileXML = new Intent(Intent.ACTION_GET_CONTENT);
chooseFileXML.setType("text/xml");
Intent intentXML = Intent.createChooser(chooseFileXML, getString(R.string.importXMLDatei));
startActivityForResult(intentXML, REQUEST_CODE_IMPORT_XML_FILE);
Empfangen:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch (requestCode){
case REQUEST_CODE_IMPORT_XML_FILE:
if(resultCode == RESULT_OK){
Uri uri = data.getData();
String filePath = uri.getPath();
File fl = new File(filePath);
//Get xml-code from file and put it in a String
FileInputStream fin = null;
try {
fin = new FileInputStream(fl);
BufferedReader reader = new BufferedReader(new InputStreamReader(fin));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
System.out.println(sb.toString());
fin.close();
} catch (Exception e) {
e.printStackTrace();
}
}
break;
}
}
Ich erhalte den korrekten Dateipfad. Aber in dieser Zeile: fin = new FileInputStream (fl); ich diesen Fehler:
java.io.FileNotFoundException: /document/primary:Android/data/com.oli.myapp/Files/test.xml: öffnen, ist fehlgeschlagen: ENOENT (Keine solche Datei oder das Verzeichnis)
verursacht finden: java.lang.NullPointer Ausnahme: Versuch, die virtuelle Methode 'char [] java.lang.String.toCharArray()' für einen Null-Objektverweis – XxGoliathusxX
aufzurufen, in dem Sie char-Code verwenden? – sasikumar
Nirgendwo: Es zeigt den Fehler in dieser Zeile: Datei fl = neue Datei (realPath); – XxGoliathusxX