지금 고전적인 Google 블루투스 채팅 코드를 사용하여 블루투스 연결을 구현했습니다. 그러나, 나는 내 뇌를 감쌀 수없는 질문을 가지고있다.안드로이드 블루투스 파일 전송에서 EOF를 탐지하는 방법은 무엇입니까?
입력 스트림의 읽기는 이런 식입니다 :
public void run() {
byte[] buffer = new byte[1024]; // buffer store for the stream
int bytes; // bytes returned from read()
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
// Read from the InputStream
bytes = mmInStream.read(buffer);
// Send the obtained bytes to the UI Activity
mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
} catch (IOException e) {
break;
}
}
}
을 지금, 난 그냥 원래의 예에서와 같이 수신 된 문자를 인쇄 할 경우 그 괜찮습니다. 그러나 이미지 파일을 전송하려고한다고 가정합니다. 나는 파일의 크기를 모른다. 그래서 나는받은 바이트 수를 계산할 수 없다. 테스트에서 입력 스트림에서 "-1"을받는 것 같지 않습니다. 입력 스트림에서 읽기에 대한 "표준"인 것처럼 보입니다. 그러면 내가 보낸 파일의 끝에 도달했음을 어떻게 알 수 있습니까?
도와 주셔서 감사합니다.
내가 그런 경우가있을 수 있습니다 생각하지만 내가 내려다 보이는 한 간단한 방법이 있다면보고 싶었어요. 하지만 내가 뭘해야하는지 확인 했어. 고마워! –