我有一个JSON数组,我想将其写入文件。对于编写文件来说,一切都很完美,但问题是,当我尝试阅读文件时,会给我带来很多未编码的文本......。该文本是阿拉伯语。编码JSON数组
这是我的代码读取文件:
FileInputStream fis = openFileInput("File");
BufferedInputStream bis = new BufferedInputStream(fis);
StringBuffer sb = new StringBuffer();
while(bis.available() != 0){
char c = (char) bis.read();
sb.append(c);
}
JSONArray read = new JSONArray(sb.toString());
for(int x = 0; x < read.length(); x++){
JSONObject readOb = read.getJSONObject(x);
String id = readOb.getString("id");
String name = readOb.getString("name");
Toast.makeText(Main.this, "Id: " + id + "Name: " + name , Toast.LENGTH_LONG).show();
}
bis.close();
fis.close();
这将是巨大的,如果有人会提出任何解决方案,使文本显示完美。
编辑:
这是我试图将其追加到的StringBuffer。
fis = openFileInput("Test");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
StringBuffer sb = new StringBuffer();
while(isr.read() != 0){
sb.append(isr.read());
}
请检查此链接可能会帮助您http://www.mkyong.com/java/json-simple-example-read-and-write-json/ – Amit
,因为您正在阅读一个字节并考虑到一个字符。这不是 – njzk2
@ njzk2我应该怎么做才能得到它的编码? –