Java 在行业阅读

Java 在行业阅读,java,android,io,bluetooth,Java,Android,Io,Bluetooth,我正在尝试通过蓝牙通信将整数发送到Android设备。我的问题是如何从inpustream读取字符数组 这是我的服务器代码Java的一部分: try { outStream = connection.openOutputStream(); int numbers = (int) (Math.random() * 10); outStream.write(numbers); System.out.println(numbers); } catch (IOExc

我正在尝试通过蓝牙通信将整数发送到Android设备。我的问题是如何从inpustream读取字符数组

这是我的服务器代码Java的一部分:

try {
    outStream = connection.openOutputStream();  
    int numbers = (int) (Math.random() * 10);
    outStream.write(numbers);
    System.out.println(numbers);

} catch (IOException e) {
    e.printStackTrace();
}
目标是读取服务器发送的整数。我还尝试使用PrintWriter方法发送数据(随机数),如下所示:

outStream = connection.openOutputStream();
pWriter = new PrintWriter(new OutputStreamWriter(outStream));

int numbers = (int) (Math.random() * 10);
pWriter.write(numbers);
System.out.println(numbers);
pWriter.flush();
pWriter.close();
如果使用这个方法print.write,我知道它只发送单个charchter,所以我的问题是如何将charchter数组发送到Android

这是我的Android代码的一部分:

public void run() {
    int data = in.read(buffer);

    while (true) {
        try {
            byte[] buffer = new byte[1024];
            int data;

            data = in.read(buffer);
            data = in.read(buffer, 0, buffer.length);

        } catch (IOException ex) {
            Log.e(TAG_IOThread, "disconnected", ex);
            break;
        }
    }  
}

这确实是DataOutpustream,我使用writeInt()方法,在服务器上我改为readInt();我认为可以使用OutputStream发送整数,使用InputStream接收。

这个
扩展流。写入(数字)
写入一个字节,而不是整数。用
DataOutputStream
DataInputStream
来包装两端。我在服务器端做了如下更改:
outtream=connection.openDataOutputStream();整数=(int)(Math.random()*10);流出。写(数字)
但在Android上,当我更改DataInput时,我会得到一个选项来使用类似
data=in.readInt()的方法但如何在其中添加缓冲区?