웹 서버에서 jsp 파일(xml형식)을 다운받아
이를 활용하는 프로그램을 짜고 있습니다.
이에 맞추어서 파일의 존재 여부를 알려주는 메서드와 파일을 삭제하는 메서드를 작성했는데,
둘 다 제대로 동작하지 않더군요.
public boolean checkInternalStorage(String filename) {
File file = getFileStreamPath(filename + ".xml");
if (file != null)
return true;
else
return false;
}
/**
* Delete internal private file
* @param filename - the filename to delete
*/
public void deleteInternalStorage(String filename) {
File file = getFileStreamPath(filename + ".xml");
if (file != null)
file.delete();
else
Toast.makeText(this, "파일이 존재하지 않습니다.", Toast.LENGTH_SHORT).show();
}
위와 같이 deleteInternalStorage() 메서드를 실행 시킨 후에 checkInternalStorage() 메서드를 실행하였는데,
반환되는 boolean값이 true입니다.
퍼미션 문제인거 같기도 하고 도무지 어디가 잘 못 되었는지 알 수가 없군요.
조언 부탁드립니다 ㅠㅠ
퍼미션 설정은 다음과 같이 되어있습니다.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />




파일의 존재 유무를 판별 할때는 File객체의 null검사도 해야 하지만 exist()메소드를 통해서도 검사를 해야 합니다.
그리고 delete()메소드는 boolean을 반환합니다.
파일을 지웠으면 true, 아니면 false 입니다.