如何从内部存储输出 JSON 文件的内容?以下是目前正在做的工作。
String filename = "names.json";
final File file = new File(Environment.getDataDirectory(), filename);
Log.d(TAG, String.valueOf(file));
Run Code Online (Sandbox Code Playgroud)
日志显示为: /data/names.json
名称.json
[
"names",
{
"name": "John Doe"
}
]
Run Code Online (Sandbox Code Playgroud)
从文件中读取字符串并将其转换为JsonObject或JsonArray
String jsongString = readFromFile();
JSONArray jarray = new JSONArray(str);
Run Code Online (Sandbox Code Playgroud)
使用下面的方法从内部存储文件中读取数据并返回为String.
private String readFromFile() {
String ret = "";
InputStream inputStream = null;
try {
inputStream = openFileInput("names.json");
if ( inputStream != null ) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ( (receiveString = bufferedReader.readLine()) != null ) {
stringBuilder.append(receiveString);
}
ret = stringBuilder.toString();
}
}
catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}
finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)