class FileReceiver extends Thread{
Socket socket;
DataInputStream dis;
FileOutputStream fos;
BufferedOutputStream bos;
public FileReceiver(Socket socket) {
this.socket = socket;
}
@Override
public void run() {
try {
dis = new DataInputStream(socket.getInputStream());
String fName = "sample.jpg";
// 파일을 생성하고 파일에 대한 출력 스트림 생성
File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator + "temp" + File.separator+fName);
fos = new FileOutputStream(f);
bos = new BufferedOutputStream(fos);
// 바이트 데이터를 전송받으면서 기록
int len=0;
int size = 8192;
int cnt=0;
byte[] data = new byte[size];
while ((len = dis.read(data)) > -1) {
bos.write(data, 0, len);
cnt++;
Log.e("error",String.valueOf(cnt));
}
bos.flush();
bos.close();
fos.close();
dis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
이 코드에서 이상한 부분이 있는데 while문이 돌아가는것을 cnt 변수로 로그로 찍어보니 같은파일인데 일정하지가 않고
while문 밑의 코드가 실행이 안됩니다.
뭐가 잘못된것인가요?