Я не знаю, почему ваш путь не работает, если кто-то знает ответ, пожалуйста, напишите мне, что я хотел бы знать.Но ниже показано, как заставить мою работать, я в основном отправляю файл кусками по 1024 байта.
/*Transmit*/
private OutputStream mOut;
byte[] mBuffer = byte[1024]
mBtSocket = _socket;
mOut = mBtSocket.getOutputStream();
InputStream inFile = new FileInputStream(file);
while((mLen = inFile.read(mBuffer, 0, 1024)) > 0){
mOut.write(mBuffer, 0, mLen);
}
/*Receive*/
private InputStream mIn;
byte[] mBuffer = byte[1024]
File file = new File(fileName);
OutputStream outFile = new FileOutputStream(file);
long bytesReceived = 0;
while (bytesReceived < fileSize) { // I send fileSize as msg prior to this file transmit
mLen = mIn.read(mBuffer);
if(mLen > 0) {
bytesReceived+=mLen;
outFile.write(mBuffer, 0, mLen);
} else {
Log.d(TAG,"Read received -1, breaking");
break;
}
}
outFile.close();