private ArrayBlockingQueue<Integer> iReadQueueArray = new ArrayBlockingQueue<Integer>(READBUF_SIZE, true);
byte[] rbuf = new byte[256];
int data;
Integer mdata;
ret = iReadQueueArray.offer( Integer.valueOf( (rbuf[i]&0x000000FF) ));
//-----------------------------------------------------------------------//
mdata = (Integer)iReadQueueArray.poll();
if( mdata!=null ) {
data = (int) (mdata.intValue()&0x000000FF);
buf[i] = (byte) data;
}
//-----------------------------------------------------------------------//
我從USB讀到的資料rbuf放到iReadQueueArray中
然後再從iReadQueueArray讀出來
但會出現,在從iReadQueueArray中讀出來時,某個資料會出現底下的錯誤
E/AndroidRuntime( 1758): java.lang.NumberFormatException:
Invalid int: "ffffffeb"
因為資料要放入Queue時,我有先把前三個bytes給清成0了
怎麼parse出來的結果會變成那麼奇怪呢?
請問這該怎麼解決這樣的情況呢?
感謝!
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.198.202