마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FileOutputStream 생성하는 과정에 FileNotFoundException 발생

0 추천
/data/data/패키지명/files/dbfile.zip 을 다운받아서

/data/data/패키지명/files/dbfile.sqlite 로 압축을 풀었습니다.

 

이를 사용하기 위해 데이터베이스 경로인

/data/data/패키지명/databases/dbfile.sqlite 로 옮겨주고싶은데

files/dbfile.sqlite 경로로 FileInputStream을 만들고

databases/dbfile.sqlite 경로로 FileOutputStream을 만들려고 하는데

FileOutputStream fos = new FileOutputStream(getDatabasePath("dbfile.sqlite");

로 만들면 FileNotFoundException이 발생합니다.

파일 I/O쪽에 지식이 없어 도움을 구합니다.
음무 (17,820 포인트) 님이 2015년 9월 11일 질문
음무님이 2015년 9월 11일 수정

1개의 답변

+1 추천
 
채택된 답변
/databases 디렉토리에 write를 할 권한이 없어서 발생하는 걸로 보입니다.

/databases 디렉토리는 데이터베이스 파일이 저장되는 곳이라 해당 패키지앱에서도 write를 못할 겁니다.
cc1232 (35,280 포인트) 님이 2015년 9월 11일 답변
음무님이 2015년 9월 11일 채택됨
답변 감사합니다.
/databases 경로가 아예 존재하지를 않더군요 .. 왜그런지는 모르겠는데
그래서 디렉토리를 직접 생성해주니 정상작동 하게 됐습니다.
...