2016-05-31 5 views
0

Я разрабатываю приложение для Android, отправляющее файлы с одного устройства на другое. Установление соединения между обоими устройствами прекрасно работает, но при передаче файла происходит что-то не так. На получающем устройстве файл создается, но, к сожалению, он пуст.Android - Отправка файла по bluetooth

Это мой код для обработки входящего файла:

try { 
    byte[] buffer = new byte[1024]; 
    int bytes = 0; 
    boolean eof = false; 

    File file = new File(Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_PICTURES), "test.jpg"); 
    OutputStream os = null; 
    try { 
     os = new BufferedOutputStream(new FileOutputStream(file)); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } 

    while (!eof) { 
     bytes = mmInStream.read(buffer); 
     int offset = bytes - 11; 
     byte[] eofByte = new byte[11]; 
     eofByte = Arrays.copyOfRange(buffer, offset, bytes); 
     String message = new String(eofByte, 0, 11); 

     if(message.equals("end of file")) { 
      os.flush(); 
      os.close(); 

      eof = true; 
     } else { 
      os.write (buffer); 
     } 
    } 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

ответ

0

Использование DataInputStream/DataOuputStream решить эту проблему.

Смежные вопросы