我是从一页
获得的Android AsyncTask method that I dont know how to solve
但是我不确定它如何完整地工作,如果有人可以解释我是什么时候和这部分“iso-8859-1” 我知道8是字符数,但我可能是错的
static InputStream is = null;
static String json = "";
is = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
答案 0 :(得分:0)
您的代码基本上从从httpentity获取的输入流中读取,将其放入StringBuilder并最终将其转换为json。
为了理解api代码,javadoc是你的朋友。
这是我在BufferredReader javadoc
中找到的内容public BufferedReader(Reader in, int sz) 创建使用指定大小的输入缓冲区的缓冲字符输入流。
参数:** in - A读取器sz - 输入缓冲区大小
抛出: IllegalArgumentException - 如果sz是< = 0
http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html
作为读者,您的代码中使用了InputStreamReader。这是InputStreamReader
的相关javadocpublic InputStreamReader(InputStream in,Charset cs)创建一个 使用给定字符集的InputStreamReader。 的参数:强> 在 - 安 InputStream cs - 一个字符集
http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html#InputStreamReader(java.io.InputStream,java.nio.charset.Charset)
所以“iso-8859-1”是指定的字符集。