阅读输入流

时间:2012-07-28 23:30:28

标签: 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 (IOException e) {
    e.printStackTrace();
}

目标是Android读取服务器发送的整数。我也尝试使用PrintWriter方法发送数据(randome数字),如下所示:

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,我知道这只发送单个charchters,所以我的问题是我如何向Android发送charchters数组?

这是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;
        }
    }  
}

1 个答案:

答案 0 :(得分:0)

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