Ich habe einen Code geschrieben, um eine JSON-Datei von einer SD-Karte zu lesen.Datei nicht gefunden Ausnahme durch Lesen einer JSON-Datei
Zum ersten speichern ich den Pfad für meine appfolder.
Boolean isMounted = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
if (isMounted) {
File Dir = new File(Environment.getExternalStorageDirectory(), "MyIdea");
//creat folder if don't exist
if (!Dir.exists()) {
if (!Dir.mkdir()) {
Log.d("MyIdea", "failed to create");
}
}
//set the absolutPath to appPathString
appDataPath = Dir.getAbsolutePath();
}
Danach habe ich lege den config.json in die Ordner und will mit dieser Methode die JSON-Datei von der SD-Karte lesen.
public String loadJSONFromAsset() {
String json = null;
try {
InputStream is = getAssets().open(appDataPath + "/config.json");
int size = is.available();
byte[] buffer = new byte[size];
is.read(buffer);
is.close();
json = new String(buffer, "UTF-8");
} catch (IOException ex) {
ex.printStackTrace();
return null;
}
return json;
}
Danach i Daten aus der Datei
JSONObject obj = new JSONObject(loadJSONFromAsset());
aber zu bekommen, wenn ich den Code durch den Debugger laufen bekomme ich die Meldung über die Ex:
java.io.FileNotFoundException: /storage/emulated/0/MyIdea/config.json
Haben Sie überprüft, config.json Datei ist in MyIdea oder nicht? –
Ja, ich habe es auf meinem Gerät überprüft. http://fs5.directupload.net/images/161102/vkcdfgtc.png – dudi
Haben Sie Lese-/Schreibberechtigung? –