메소드는 다음과 같이 구현되어 있었습니다.
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




Logcat첨부 하면 많은 개발자분들이 성의 있는 답변을 해드리지요