폰의 저장 공간(외부 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();

}




+ Recent posts