2015년 11월 3일 화요일

안드로이드 내부 저장 공간에 디렉토리 생성 및 파일 생성 하기





폰의 저장 공간(외부 SD 카드가 아닌 디바이스 자체의 저장 공간)의 특정 디렉토리에 특정 파일을 저장하는 법.

특정 디렉토리는 MyDir
특정 파일 명은 MyImg.jpg라고 가정.

각 안드로이드 기기의 저장 공간에 대한 경로 명이 제조사 별로 상이하다.
따라서 저장 공간의 경로 명을 먼저 가져와야 된다. 아래 메소드를 이용해서

String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath();

이렇게 얻어진 디바이스의 기본 경로에 내가 원하는 경로(MyDir)을 추가해 준다.

sdPath += "/MyDir";
이렇게 추가된 경로가 존재하지 않을 수 있기 때문에 존재 하지 않는다면 이 디렉토리를 새로 생성해 준다.

File file = new File(sdPath);
file.mkdirs(); //없으면 디렉토리 생성, 있으면 통과

이제 내가 생성하고자 하는 파일을 생성한다.

sdPath += "/MyImg.jpg";

이 파일도 존재하지 않는 파일이기에 File 클래스의 createNewFile() 메소드를 통해 새로 생성한다.

file = new File(sdPath);
try {
   file.createNewFile();
   Toast.makeText(mContext, "이미지 디렉토리 및 파일생성 성공~", 1).show();
} catch(IOException ie){
   Toast.makeText(mContext, "이미지 디렉토리 및 파일생성 실패", 1).show();
}

아래는 소스 조각이다.

String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath();
sdPath += "/MyDir";
File file = new File(sdPath);
file.mkdirs();

sdPath += "/MyImg.jpg";

file = new File(sdPath);
try {
  file.createNewFile();
  Toast.makeText(mContext, "이미지 디렉토리 및 파일생성 성공~", 1).show();
} catch(IOException ie){
  Toast.makeText(mContext, "이미지 디렉토리 및 파일생성 실패", 1).show();
}

댓글 없음:

댓글 쓰기