// 쓰는 부분
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("/sdcard/tmp/dummy.dat"));
oos.writeInt(1);
try {
   oos.writeObject(surfInfo); oos.close();
} catch(IOException e) {
// 여기에서 항상 예외가...
}

// 읽는 부분
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("/sdcard/tmp/dummy.dat"));            
byte[] buf = new byte[ois.available()];
 ois.read(buf);

환장 하겠네요; 그냥 쓰고 바로 읽어 들이는데도 딱 앞에 쓴 int만 읽어옵니다... 제가 뭐 잘못 쓴게 있나요?
저기 위에 oos에 객체를 쓰는 부분에서 항상 예외가 발생합니다. 근데 파일 크기는 또 int형 하나만 달랑 쓴 크기가 아니라서
저장이 잘 된거 같은데 뭐가 문제일까요? 아! 그리고 저기 surfInfo는 객체입니다.

참... 혹시 한가지 짚이는게 있는데 저 surfInfo객체 안에 Bitmap타입의 멤버가 있는데 이녀석이 Serializable하지 않는다는게
걸리네요..