我有一个从php
收到的json数组[
{
"name":"Daniel Bryan",
"img":"pictures\/smallest\/dierdrepic.jpg",
"username":"@dbryan",
"user_id":"4"
},
{
"name":"Devil Hacker",
"img":"pictures\/smallest\/belitapic.jpg",
"username":"@dvHack",
"user_id":"1"
}
]
file_name.anyextension
中写这些数据
我的应用数据文件夹或任何安全的地方。file_name.anyextension
读取此数据并将其转换为
可以进一步编辑的有效json array
。有谁能告诉我一个方法我怎么可能这个东西?
答案 0 :(得分:19)
private void writeToFile(String data) {
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("config.txt", Context.MODE_PRIVATE));
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}
private String readFromFile() {
String ret = "";
try {
InputStream inputStream = context.openFileInput("config.txt");
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);
}
inputStream.close();
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());
}
return ret;
}
从文件读取字符串时,将其转换为JsonObject或JsonArray
JSONArray jarray = new JSONArray(str);
答案 1 :(得分:2)
修正了Morteza Soleimani的回答:
public static String readFromFile(String path) {
String ret = "";
try {
InputStream inputStream = new FileInputStream(new File(path));
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);
}
inputStream.close();
ret = stringBuilder.toString();
}
}
catch (FileNotFoundException e) {
Log.e("FileToJson", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("FileToJson", "Can not read file: " + e.toString());
}
return ret;
}