텍스트 파일 및 이미지 파일 저장 하기
안드로이드에서
getFilesDir().getAbsolutePath();
를 하게 되면
앱내부에서 저장할수 있는 Path를 알수 있다.
data/data/앱이름/files 에 저장이 된다.
하지만 여기에 강제로 저장을 하게 되면 ..이렇게
String dirPath = getFilesDir().getAbsolutePath();
File saveFile = new File(dirPath+"/test.txt");
FileOutputStream fos = new FileOutputStream(saveFile);
읽기,쓰기 등등 아무 권한이 없는 파일이 생성된다.
그래서 나중에 이 파일을 읽을려고해도 읽을수가 없다... 물론 파일은 보인다.
수정된 코드는 이렇다.
FileOutputStream fos = openFileOutput("test2.txt",Context.MODE_WORLD_READABLE);
MODE_PRIVATE | 혼자만 사용하는 배타적인 모드로 파일 생성 .. (디폴트) |
MODE_APPEND | 파일이 이미 존재할 경우 덮어쓰기 모드로 열지 않고 추가 모드로 연다. ( 기존 내용에 추가 ) |
MODE_WORLD_READABLE | 다른 응용 프로그램이 읽을 수 있도록 허용 |
MODE_WORLD_WRITEABLE | 다른 응용 프로그램이 쓸 수 있도록 허용 |
이렇게 모드를 바꾼후에야 된다...
참고 : http://enosent.tistory.com/4
이미지 파일은
AssetManager manager = getAssets();
InputStream open;
try {
open = manager.open("WhiteBall.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(open);
FileOutputStream os = openFileOutput("WhiteBall.jpg",Context.MODE_WORLD_READABLE);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);
os.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
이렇게 asset에서 파일을 불러와서 예제를 작성하였다.