求大神来帮详细我解释一下这一段JAVA代码,最好可以有些注释。

publicvoidrun(){try{inputStream=socket.getInputStream();BufferedInputStreamb1=newBuff... public void run() {

try{
inputStream=socket.getInputStream();
BufferedInputStream b1=new BufferedInputStream(inputStream);
byte[] bc=new byte[1024*8];
int m=0;
while((m=b1.read(bc))!=-1)
{
String str = new String(bc,0,m);
System.out.print(str);
int p1 = str.lastIndexOf("P");
int p2 = str.lastIndexOf("T");
String str1 = str.substring(p1+1, p2);
String str2 = str.substring(p2+1,p2+3);
String str3 = str.substring(p2+4,str.length());
text1.setText("脉搏: "+str1+"bpm; "+" 温度: "+str2+"°C 时间: "+str3);
}
System.out.print("received!!");
b1.close();
socket.close();

}catch (IOException e) {
System.out.print("ffffzzz");
}
}
}
}
展开
 我来答
月之子4
2016-05-15 · TA获得超过396个赞
知道小有建树答主
回答量:289
采纳率:0%
帮助的人:241万
展开全部
public void run() {

try{
inputStream=socket.getInputStream();//获取输入流
BufferedInputStream b1=new BufferedInputStream(inputStream);//给输入流加上缓冲
byte[] bc=new byte[1024*8];//定义接收输入流的字节数组
int m=0;//定义接收字节长度的变量
while((m=b1.read(bc))!=-1)//b1.read(bc)返回的是每次读取的字节长度,如果读取长度等于-1则表示已经读完了
{
String str = new String(bc,0,m); //将读到的字节数组转成字符串,0代表的是从字节数组bc的第0个元素开始,m代表的是到第m个元素结束,主要是防止最后一次读取的字节数组没有装满从而导致转换一些奇怪的东西
System.out.print(str);//打印转换的内容
int p1 = str.lastIndexOf("P");//获取字母P下标
int p2 = str.lastIndexOf("T");//获取字母T下标
String str1 = str.substring(p1+1, p2);//获取脉搏
String str2 = str.substring(p2+1,p2+3);//获取温度
String str3 = str.substring(p2+4,str.length());//获取时间
text1.setText("脉搏: "+str1+"bpm; "+" 温度: "+str2+"°C 时间: "+str3);//将温度,脉搏,时间设置到text控件中去
}
System.out.print("received!!");//打印接收成功
b1.close();//关闭流
socket.close();//关闭socket

}catch (IOException e) {
System.out.print("ffffzzz");//打印异常信息
}
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式