我正在开发一个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 :(得分:0)
使用DataInputStream / DataOuputStream解决了这个问题。