[Serializable] 객체를 파일에 쓰고 읽기

Posted by [하늘이]
2010. 12. 3. 14:54 IT/Android[안드로이드]
반응형


Class 를 파일로 저장해야되는 경우 사용합니다.

사용시 Class는 Serializable class를 implements해야됩니다.

기본 구조는 아래와 같습니다.

==========================================================================
class PlayerRepeatABInfoSerial implements Serializable {
  private long mTotalTime;

  public PlayerRepeatABInfoSerial() {
   mTotalTime = 0;
  }
  public PlayerRepeatABInfoSerial(long sInfo) {
   mTotalTime = sInfo;
  }
  public long getTime(){
   return mTotalTime;
  }
}
============================================================================
@ write 예제
public class RepeatMenuUtils {
........
 public boolean saveCurRepDataForMusic(PlayerRepeatABInfoSerial srcData)throws Exception
 {
   ObjectOutputStream outStream;
   outStream = new ObjectOutputStream(new FileOutputStream("/sdcard/test.dat"));
   outStream.writeObject(tempBundle);
   outStream.close();
  return true;
 }
============================================================================
@ Read 예제
Read 시 전달받는 타입이 Object 형이라서 Casting해주어야합니다.
public PlayerRepeatABInfoSerial LoadRepDataForMusic(String selectedPath)throws Exception
{
  if (selectedPath==null)
   return null;
  
  PlayerRepeatABInfoSerial tempBundle = new PlayerRepeatABInfoSerial();

  ObjectInputStream inputStream;
  inputStream = new ObjectInputStream(new FileInputStream(selectedPath));
  Object obj = inputStream.readObject(); 
  tempBundle = (PlayerRepeatABInfoSerial)obj;
  inputStream.close();
 
   return tempBundle;
 }

 

반응형