일단 서버에서는 파일을 열어서 buffer에 byte[]buf = new byte[in.available()]; 이런식으로 사이즈에 맞게 해줬습니다.
그리고.. 이 버퍼를 읽어서 ObjectOutputStream을 통하여 안드로이드 클라이언트에 전송했습니다.
여기까지는 잘 가는거 같은데....
안드로이드에서
public void run() {
try {
Client = new Socket(socknum);
ObjectInputStream ois = new ObjectInputStream(Client.getInputStream());
System.out.println("여기1?");
while(true){
try {
System.out.println("여기2?");
byte[] buf = (byte[]) ois.readObject();
FileOutputStream fos = new FileOutputStream("/sdcard/DCIM/2.JPG");
fos.write(buf);
System.out.println("쓰기완료");
요렇게 작성했는데 여기 1과 여기 2는 프린트 문에 찍히지만 그뒤로
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ java.io.StreamCorruptedException: Wrong format: ac
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ at java.io.ObjectInputStream.corruptStream(ObjectInputStream.java:675)
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ at java.io.ObjectInputStream.readNonPrimitiveContent(ObjectInputStream.java:788)
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1983)
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ at java.io.ObjectInputStream.readObject(ObjectInputStream.java:1940)
10-26 21:04:35.050 31372-31416/com.ebookfrenzy.TeacherClient W/System.err﹕ at com.ebookfrenzy.chatclienttest.MainActivity$PdfThread.run(MainActivity.java:283)
요렇게 포멧이 맞지 않는다느니... 그렇게 말합니다. 어떻게 해결해야할까요 ㅠㅠㅠㅠ
찾아봐도 잘 모르겠어서 질문 남깁니다.
참고로 https://www.youtube.com/watch?v=foZFmzM1JUk 이분의 영상을 참고했습니다.