如何使用java中的RFCOMM通过蓝牙将图像从PC传输到手机?
我在@PC端进行了以下编码(我尝试将数据分块发送):如何使用java中的RFCOMM通过蓝牙将图像从PC传输到手机?,java,java-me,Java,Java Me,我在@PC端进行了以下编码(我尝试将数据分块发送): 试试看{ 对于(int i=0;i
试试看{
对于(int i=0;i
在移动端时,我收到的信息为:
public Image recdata() {
Image image1 = null;
int i = 0;
try {
// input = StrmConn.openInputStream();
length = input.read();
data1 = new byte[length];
length = 0;
int ch = 1;
while (length != data1.length) {
ch = input.read(data1, length, data1.length - length);
if (ch == -1) {
throw new IOException("Can't read data");
}
length += ch;
}
try {
// int len = ch;
input.wait(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
length = input.read();
byte[] data11 = new byte[length];
try {
this.wait(1700);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
while (length != data11.length) {
ch = input.read(data11, length, data11.length - length);
if (ch == -1) {
throw new IOException("Can't read data");
}
length += ch;
}
length = data1.length + data11.length;
data12 = new byte[length];
for (i = 0; i < data1.length; i++) {
data12[i] = data[i];
}
for (int k = i; k < length; k++)
data12[k] = data[k];
}
catch (IOException e) {
System.err.println("U must correct");
}
if (image1 == null) {
S = "Imagr is null in recive data";
}
return image1;
}
public Image recdata(){
图像image1=null;
int i=0;
试一试{
//input=StrmConn.openInputStream();
长度=输入。读取();
data1=新字节[长度];
长度=0;
int ch=1;
while(长度!=data1.length){
ch=input.read(data1,length,data1.length-length);
如果(ch==-1){
抛出新IOException(“无法读取数据”);
}
长度+=ch;
}
试一试{
//int len=ch;
输入。等待(2000年);
}捕获(中断异常例外){
例如printStackTrace();
}
长度=输入。读取();
字节[]数据11=新字节[长度];
试一试{
这个。等等(1700);
}捕获(中断异常例外){
例如printStackTrace();
}
while(长度!=data11.length){
ch=input.read(data11,length,data11.length-length);
如果(ch==-1){
抛出新IOException(“无法读取数据”);
}
长度+=ch;
}
长度=data1.length+data11.length;
data12=新字节[长度];
对于(i=0;i
问题可能出在移动端
length = input.read();
您(可能)将一个字节分配给一个整数,因此当您稍后使用该值时,您使用的是字节的整数表示,而不是整数值。下面是一个代码链接,可以让您将整数转换为字节数组,然后再从字节数组转换为整数 问题是。。。?我写了上面的代码,但无法接收。我只能接收5000个以上字节中的321个字节。你能帮我重放一遍吗?我在读取整个数据时有问题。我最多可以读取10个字节的数据。自从过去几个月以来,我一直有同样的问题。请寄给我一些更好的解决这个问题的办法。你真好,先生
length = input.read();