2014-05-03 196 views
-2

我從一個頁面有人可以解釋我這個代碼是如何工作

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(); 
+2

http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html – azurefrog

+1

while循環是因爲readLine()將逐行讀取。 'iso-8859-1'是編碼 – donfuxx

回答

0

您的代碼從httpentity獲得的InputStream基本上讀取,把該成一個StringBuilder並將其轉換最終成爲json。

爲了理解api代碼,javadoc是你的朋友。

以下是我在BufferredReader Javadoc中發現

公共的BufferedReader(閱讀器中, INT SZ) 創建一個使用指定尺寸的輸入緩衝器的緩衝字符輸入流。

參數:**在 - 甲讀卡器SZ - 輸入緩衝區的大小

拋出: - 如果sz爲< = 0

http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html

作爲讀者,InputStreamReader的在您的代碼中使用。下面是使用InputStreamReader

公衆的InputStreamReader(InputStream中的,字符集CS)創建一個使用給定的charset的 的InputStreamReader相關的javadoc。 參數: 在 - 一個 的InputStream CS - 一個charset

http://docs.oracle.com/javase/7/docs/api/java/io/InputStreamReader.html#InputStreamReader(java.io.InputStream,java.nio.charset.Charset中)

因此, 「ISO-8859-1」 是指定的字符集。

相關問題