在我的PC上,我啓動了一個服務器,通過藍牙將字節發送到Android手機。 我每隔10秒發送一次使用相同輸出流的不同字節。Java/Android - 從輸入流讀取後寫入輸出流
outputStream.write(buffer);
outputStream.flush();
thisThread.sleep(10000);
緩衝區是一個字節組從而改變每次循環
現在我想讀取緩衝區的Android手機:
while((bytes = inputStream.read(buffer)) != -1) {
//do something
}
//do more
我現在的問題是,讀(緩衝)犯規回報 - 1。 我如何通知Android手機的字節已被轉移,所以我可以做 我希望在while循環後的事情?
我更喜歡對象流,它解決了這樣的問題 – sherif 2012-04-18 19:47:33
從來沒有嘗試過對象流,從來沒有聽說過它。所以我必須將我的bytearray轉換爲一個對象並調用ObjectOutputStream.writeObject(object)? – tschakkkiiiii 2012-04-19 20:22:42
ObjectStreams是關於java的最好的想法之一。你的類必須實現可序列化的接口(它只是一個形式沒有函數),那麼你創建一個ObjectOutputStream:new ObjectOutputStream(someOtherStream)它就是它http://tutorials.jenkov.com/java-io/objectoutputstream.html – sherif 2012-04-20 21:23:45