메소드는 다음과 같이 구현되어 있었습니다.


public static boolean FileLoad()

{

Activity activity = CCDirector.sharedDirector().getActivity();

FileInputStream input;

try {

input = activity.openFileInput("user_info.sav");

byte in[] = new byte[5];

try {

DataInputStream is = new DataInputStream(input);

nOneKillPoint = is.readInt();

nStatPoint = is.readInt();

nDelayLV = is.readInt();

nFocusLV = is.readInt();

nRecoveryLV = is.readInt();

nWindLV = is.readInt();

nRelexLV = is.readInt();

nScaleLV = is.readInt();

byOrMode = is.readByte();

nScore = is.readInt();

int nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveRifles.put(item.nIndex,item);

}

nEquipedRifle = is.readInt();

nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveScopes.put(item.nIndex,item);

}

nEquipedScope = is.readInt();


nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveGunBarrels.put(item.nIndex,item);

}

nEquipedGunBarrel = is.readInt();

nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveGunStocks.put(item.nIndex,item);

}

nEquipedGunStock = is.readInt();


nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveMuzzles.put(item.nIndex,item);

}

nEquipedMuzzle = is.readInt();


nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveMagazines.put(item.nIndex,item);

}

nEquipedMagazine = is.readInt();

nSize = is.readInt();

for(int i=0;i<nSize;i++)

{

CHaveItemInfo item = new CHaveItemInfo();

item.nIndex = is.readInt();

item.nQuntity = is.readInt();

listHaveBullets.put(item.nIndex,item);

}

nEquipedBullet = is.readInt();

nSize = is.readInt();

for(int i=0;i<nSize;i++) TrainingStageInfo[i].nState = is.readInt();

nSize = is.readInt();

for(int i=0;i<nSize;i++) MissionStageInfo[i].nState = is.readInt();

nMaxKillCount = is.readInt();

} catch (IOException e) {

// TODO Auto-generated catch block

return false;

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

return false;

}

return true;

}


호출은 다음과 같이 구현하였습니다.


if(FileLoad()==false)

{

   //파일이 없다고 간주하고 초기화 처리

}


여기서 배터리가 거의 다 소모되었을 때 FileLoad함수의 결과가 실패를 리턴할 만한 상황이 있을까요?

자꾸 세이브 파일이 날아갔다는 클레임이 나오는데 재현은 안되고 죽겠네요 T.T