Java Android:Outputstream.write-issue

Java Android:Outputstream.write-issue,java,android,sockets,bluetooth,Java,Android,Sockets,Bluetooth,我正在尝试将文件传输到远程蓝牙设备,如下所示 while (availableBytes > 0 ) { bytesRead = inStream.read(tempData,0,tempData.length); mmOutStream.write(tempData,0,bytesRead); mmOutStream.flush(); a

我正在尝试将文件传输到远程蓝牙设备,如下所示

    while (availableBytes > 0 ) {

                 bytesRead = inStream.read(tempData,0,tempData.length);

                 mmOutStream.write(tempData,0,bytesRead);  
                 mmOutStream.flush();
                 availableBytes = inStream.available();
    }/* End of availableBytes */
在对大文件(500 KB)进行写操作时,我在12到15分钟后将IO异常设置为“IOException:Connection timed out”。当我发送小于100KB的小文件时,我成功地传输了它。 文件传输过程中,我没有关闭套接字。Android中是否有任何限制,即蓝牙插座只能在某个固定的时间限制内处于活动状态

请在此

InputStream上抛出您的观点。available()的作用与您认为的不同:

返回可以使用的字节数 从中读取(或跳过) 输入流不受 此输入的方法的下一个调用方 小溪


正确的方法是写,直到你点击bytesRead==-1,表示EOF(文件结束)。

不相关,但我个人不会使用
available()
。我会一直读到
bytesRead
is-1。我想我也面临着类似的问题