Раньше я читал файл json из папки raw
андроида resources
,
InputStream inputStream = getResources().openRawResource(R.raw.jsonfile);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int ctr;
try {
ctr = inputStream.read();
while (ctr != -1) {
byteArrayOutputStream.write(ctr);
ctr = inputStream.read();
}
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jObject = null;
try {
jObject = new JSONObject(
byteArrayOutputStream.toString());
} catch (JSONException e) {
e.printStackTrace();
}
Gson g = new Gson();
MyList responseData = g.fromJson(jObject.toString(), MyList.class);
if (responseData.getPeopleList().size() == 0) {
//do something
}
Теперь мне нужно сохранить этот файл во внешнем хранилище устройства. Я попробовал вместо 1-й строки в вышеуказанном сегменте,
File fileJson = new File(getActivity().getExternalFilesDir("/folderName"), "jsonfile.json");
InputStream inputStream = null;
try {
inputStream = new FileInputStream(fileJson);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
но теперь responseData
теперь равно нулю. Поправьте меня, пожалуйста
журнал ошибок есть,
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
/folder
не является допустимым значением параметра, переданного вgetExternalFilesDir()
. Кроме того, что означает Это не сработало так, как я ожидал? Какие у Вас симптомы? - person CommonsWare   schedule 08.05.2018/folder
не является допустимым значением дляgetExternalFilesDir()
. Где этот файл, который вы пытаетесь загрузить? - person CommonsWare   schedule 08.05.2018