posts - 262,  comments - 221,  trackbacks - 0

          該方法中使用一個無限循環(huán),從字節(jié)流中讀取字節(jié),存放到byte數(shù)組中,每次讀取1024個字節(jié)(一般都是這個設(shè)置),由于每次讀取的字節(jié)數(shù)量不一定夠1024個(比如最后一次的讀取就可能不夠),所以我們要記錄每次實際讀到的字節(jié)數(shù),然后將實際讀取到的字節(jié)按指定的編碼方式轉(zhuǎn)換成字符串。

          private String inputStreamToString(InputStream is, String encoding) {
              try {
                  
          byte[] b = new byte[1024];
                   String res 
          = "";
                   
          if (is == null) {
                          
          return "";
                   }
                   
                   
          int bytesRead = 0;
                  
          while (true) {
                       bytesRead 
          = is.read(b, 01024); // return final read bytes counts
                       
          if (bytesRead == -1) {// end of InputStream
                              return res;
                       }
                       res +=
           new String(b, 0, bytesRead, encoding); // convert to string using bytes
                    }
                } 
          catch (Exception e) {
                      e.printStackTrace();
                      System.out.print(
          "Exception: " + e);
                      
          return "";
                }
          }


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-08-06 09:59 Paul Lin 閱讀(17325) 評論(2)  編輯  收藏 所屬分類: J2SE


          FeedBack:
          # re: Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法
          2008-12-16 12:50 | kmh
          inputstream 的 read 方法是阻塞的,不知道次方法樓主已經(jīng)實現(xiàn)了嗎?  回復(fù)  更多評論
            
          # re: Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法[未登錄]
          2008-12-16 20:50 | Paul Lin
          @kmh

          InputStream的read方法是阻塞的,所以在實際的應(yīng)用環(huán)境中我的做法是將其放在一個Thread或Runnable implement的類中,由run()方法調(diào)用,這樣其中一個線程在執(zhí)行到read方法而導(dǎo)致阻塞時,不會影響其他線程。

          不知你有沒有更好的方法,歡迎探討  回復(fù)  更多評論
            
          <2008年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 敦化市| 山丹县| 开封市| 昌图县| 辛集市| 抚远县| 若尔盖县| 嘉定区| 新兴县| 卢龙县| 南通市| 广元市| 达州市| 遵化市| 开封市| 布拖县| 蕉岭县| 荔浦县| 新宁县| 陆川县| 义乌市| 东丽区| 铜川市| 汝城县| 太仓市| 泽库县| 永城市| 扶余县| 秦安县| 仙居县| 彭阳县| 南平市| 潮安县| 阿荣旗| 社旗县| 威信县| 永德县| 越西县| 格尔木市| 天津市| 永清县|