作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
之前我从 android resources
的 raw
文件夹中读取了一个 json 文件,
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
}
现在我需要将该文件保存在设备的外部存储器中。我尝试在上面的段中而不是第一行,
File fileJson = new File(getActivity().getExternalFilesDir("/folderName"), "jsonfile.json");
InputStream inputStream = null;
try {
inputStream = new FileInputStream(fileJson);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
但是现在 responseData
现在是 null。请纠正我
错误日志是,
java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
最佳答案
第 1 步:将文件放在您认为的 Android/data/myappfolder/files/
中。因此,您将拥有 Android/data/myappfolder/files/jsonfile.json
。
第 2 步:使用 File fileJson = new File(getActivity().getExternalFilesDir(null), "jsonfile.json");
关于android - 如何将文件分配给 InputStream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238743/
我是一名优秀的程序员,十分优秀!