SDカードからJSONファイルを読み込むコードを書きました。ファイルが見つかりませんJSONファイルを読み取って例外が発生しました
初めての場合、私は自分の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();
}
その後、config.jsonをフォルダに入れて、この方法でSDカードからJSONファイルを読み込みたいとします。
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;
}
その後、私は、ファイルから
JSONObject obj = new JSONObject(loadJSONFromAsset());
データを取得したい。しかし、私はデバッガによるコードを実行する場合、私は元のメッセージが表示されます。
java.io.FileNotFoundException: /storage/emulated/0/MyIdea/config.json
config.jsonファイルがMyIdeaにあるかどうかチェックしましたか? –
はい、デバイス上でチェックしました。 http://fs5.directupload.net/images/161102/vkcdfgtc.png – dudi
あなたに読み書き権限がありますか? –