如何使用java中的RFCOMM通过蓝牙将图像从PC传输到手机?

如何使用java中的RFCOMM通过蓝牙将图像从PC传输到手机?,java,java-me,Java,Java Me,我在@PC端进行了以下编码(我尝试将数据分块发送): 试试看{ 对于(int i=0;i

我在@PC端进行了以下编码(我尝试将数据分块发送):

试试看{
对于(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();