如果服務器發(fā)來的字節(jié)流沒有作任何標記,只是在發(fā)完一次數(shù)據(jù)后flush(),則在客戶端可以用inputStream.available()來判斷流的長度,但一定要在調(diào)用read()至少一次之后,不然就只能得到零值。

          如下代碼所示:

          //將接收到的數(shù)據(jù)存到字節(jié)數(shù)組array
          int?firstChar?=?inputStream.read();
          int?length?=?inputStream.available();
          byte[]?array?=?new?byte[length+1];
          array[
          0]?=?(byte)firstChar;
          inputStream.read(array,
          1,length);


          版權(quán)所有 羅明
          posted on 2006-03-19 21:30 羅明 閱讀(1239) 評論(3)  編輯  收藏 所屬分類: JavaJ2ME
          Comments
          • # re: J2ME網(wǎng)絡程序中判斷一次數(shù)據(jù)發(fā)送的結(jié)束
            jimmyvk
            Posted @ 2006-11-09 15:00
            可不可以幫我解釋一下:
            httpConn = (HttpConnection) Connector.open(URL);
            InputStream is = httpConn.openInputStream();
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            byte[] bytes = new byte[is.available()];

            while (is.read(bytes) != -1) {
            baos.write(bytes);
            }

            我要訪問的資源的字節(jié)數(shù)大于8k,為什么is.available()只能得到8k,而不是獲得流字節(jié)的正確大小,請問是什么原因,謝謝!  回復  更多評論   
          • # re: J2ME網(wǎng)絡程序中判斷一次數(shù)據(jù)發(fā)送的結(jié)束
            Andy luo
            Posted @ 2006-11-10 00:01
            read每次只能讀8k,available也是一樣,但你可以連續(xù)調(diào)用read來讀完所有字節(jié)  回復  更多評論   
          • # 美國SEVEN中國研發(fā)中心招聘
            王小姐
            Posted @ 2007-11-27 11:51
            您好:

            這里是美國SEVEN中國研發(fā)中心.我們正在招聘J2ME工程師.具體信息可登錄www.sevenhangzhou.com 如您有意向,請發(fā)郵件至hr@sevenhangzhou.com 或是電話至 0571-88315471
            歡迎您的來電來函.

            王小姐  回復  更多評論   
           
          主站蜘蛛池模板: 乐都县| 华阴市| 太和县| 墨竹工卡县| 黄骅市| 潼关县| 巴中市| 松阳县| 盐亭县| 玉林市| 自治县| 青川县| 武山县| 松滋市| 永靖县| 盱眙县| 福清市| 鹿邑县| 衡东县| 六枝特区| 拜城县| 河间市| 平定县| 莆田市| 伊春市| 三都| 大宁县| 开封市| 通州市| 迭部县| 南部县| 明光市| 北票市| 长武县| 怀化市| 大姚县| 江源县| 鹤山市| 长白| 淳安县| 洪雅县|