2011-02-13 1 views
9

에 실패 은 .. 나는 다음과 같은 이미지를 저장하고 시도 할 내부 캐시 디렉토리에 .nomedia 파일을 만들려면 내부 스토리지

File dir = getCacheDir(); 
File output = new File(dir, ".nomedia"); 
boolean fileCreated = output.createNewFile(); 

나는이 fileCreated이 거짓 시도

및 파일이 작성되지 않습니다. 도트없이 nomedia를 사용하면 파일이 만들어 지지만 .nomedia 파일이 있는지 MediaScanner가 찾고 있기 때문에 유용하지 않습니다.

또한 FileOutputStream을 사용하여이 작업을 시도하고 비어있는 파일 만 생성 되었기 때문에 파일에 데이터를 쓰려고했지만이 작업도 작동하지 않습니다.

누구나 이것이 실패 할 수있는 이유가 있습니까?

답변

8

흠, 파일이 아직 존재하지 않는다고 확신합니까? 도트로 시작하는 파일을 보려면 ls -a을 수행해야합니다.

File.createNewFile()의 문서는 말한다 : 이미 존재하는 경우 파일이 가 만든 거짓이었다

true를 돌려줍니다.

파일이 다른 이유로 (보안 등) 만들어지지 않으면 예외가 발생합니다.

+0

예 파일이 생성 중입니다. ls -a로 표시됩니다. DDMS의 파일 탐색기에 표시되지 않지만 생성되지 않았다고 생각합니다. 감사합니다. – Azalar

+0

내부 캐시 폴더에이 파일을 만드는 것이 정말 유용할까요? 모든 앱에 이미 비공개 파일이 있습니까? –

관련 문제