java通过I/O流接收一定数量的字节
我正在创建一个Android应用程序,通过蓝牙将我的设备连接到一个嵌入式芯片。我在Palm Pilot(用C编写)上已经存在的一个程序之后对我的设计进行建模。我正在使用蓝牙聊天示例来运行我的代码,结果卡住了。我对整个编码世界还是相当陌生的,我有点困惑自己
我想把下面的代码从C转换成Java
SrmReceive(portId,&c,1,(t*5L*Sec)/1000L,&err)
这里唯一真正的问题是第三个参数。1
表示number of bytes to receive
,如palm文档中所述,类型为UInt32
蓝牙聊天示例中的代码具有以下读取数据的功能
public void run() {
Log.i( TAG, "BEGIN mConnectedThread" );
buffer = new byte[1024];
int bytes;
// Keep listening to the InputStream while connected
while( true ) {
try {
// Read from the InputStream
bytes = mmInStream.read( buffer );
// Send the obtained bytes to the UI Activity
mHandler.obtainMessage( BtHelperHandler.MessageType.READ, bytes, buffer).sendToTarget();
} catch ( IOException e ) {
Log.e( TAG, "disconnected", e );
sendErrorMessage( 1 );
break;
}
}
}
我想更改run()
方法,使其具有用于读取特定字节数的参数。我有点困惑该怎么办。我在想
public void run( int size ) {
buffer = new byte[size];
...
}
但我觉得这不对,我觉得我把字节的定义搞混了。听起来可能很愚蠢,但我对这些信息还不够自信。将UInt32
转换为java让我感到困惑,因为java没有等效的类型。如果有人知道,请告诉我
共 (0) 个答案