1
我已經閱讀了很多主題,但到目前爲止他們都沒有幫助。我試圖下載並解析包含一些UTF8字符的JSON。除了這些語法的編碼之外,一切都很好。你可以幫我嗎?Android:Http響應 - 保存到文件UTF8編碼
HttpGet request = new HttpGet(uri);
HttpResponse resp = client.execute(request);
entity = resp.getEntity();
fos = context.openFileOutput(fileSavePath, Context.MODE_PRIVATE); //fos is FileOutputStream
entity.writeTo(fos);
entity.consumeContent();
fos.flush();
fos.close();
,然後我打開該文件是這樣的:
stream = context.openFileInput(AppConfig.CATEGORIES_JSON_PATH);
reader = new InputStreamReader(stream, StringUtils.UTF8);
我相信GSON的東西是正確的,只有打開和保存文件的問題。我也相信這個錯誤在於entity.writeTo(fos);因爲沒有指定編碼。所以,我想writingwith字節的緩衝區和OutputStreamWriter,但隨後GSON扔MalformedJsonException:Untermineted串...
任何幫助,高度讚賞
[此問題]的接受答案(http://stackoverflow.com/questions/1001540/how-to-write-a-utf-8-file-with-java)可能會有所幫助。 'openFileOutput()'不允許你指定一個編碼,但是你可以把結果的'FileOutputSteam'封裝在一個'OutputStreamWriter'中,它的構造器可以進行編碼。 – acj
我在帖子末尾寫道,我已經試過了。沒有成功 –
你的帖子提到使用字節緩衝區和'OutputStreamWriter',這與我的建議略有不同。你有沒有嘗試做'新的OutputStreamWriter(fos,「UTF-8」)'並寫入該對象? – acj