2016-05-31 207 views
0

我正在開發一個Android應用程序,用於將文件從一臺設備發送到另一臺。 建立兩個設備之間的連接完美,但傳輸文件時出現問題。 在接收設備上,文件被創建,但不幸的是它是空的。Android - 通過藍牙發送文件

這是我處理輸入文件代碼:

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解決了這個問題。