У меня есть массив 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();
Было бы здорово, если бы кто-нибудь хотел бы предложить какое-либо решение, чтобы сделать текст появляются совершенно.
Edit:
Это то, что я пытался добавить его в 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 Что мне делать, чтобы закодировать? –