2014-07-21 3 views
0

문자열을 자산 디렉토리의 텍스트 파일로 직렬화하려고하는 앱이 있습니다. 쓰기 작업 후에 파일이 비어 있어도 (쓰기 작업이 성공하지 못했음을 의미 함) 쓰기 작업은 예외를 throw하지 않습니다.android app에서 파일에 쓸 수 없습니다.

try { 
     AssetManager asset = con.getAssets(); 
     fileDescriptor = asset.openFd("target.txt"); 

     fout = fileDescriptor.createOutputStream(); 
     oos = new ObjectOutputStream(fout); 
     oos.writeObject(target.mSourceName); 
     oos.close(); 

    } catch(Exception e) 
    { e.printStackTrace(); } 

내 질문에 왜 파일에 쓸 수 없습니까?

답변

0

수 없습니다. assets 폴더는 런타임에 읽기 전용입니다.

assets 폴더는 res, src, gen 등의 폴더와 같습니다. 앱용 APK 파일을 생성하기 위해 시스템을 빌드 할 때 다른 파일을 입력 할 때 유용합니다.

앱을 실행하는 동안에는 모두 읽기 전용입니다. 런타임에는 SD 카드에만 쓸 수 있습니다.

데이터를 저장하려면 다른 위치를 선택하십시오. .txt 파일을 저장하기 위해 내부 저장소를 선택하는 것이 좋습니다. 희망이 당신을 이해하는 데 도움이됩니다.

관련 문제