[android] 안드로이드 파일 시스템과 파일 생성 방법
안드로이드 앱을 개발하다보면 파일을 다루는 일이 자주 발생합니다. 여러분은 데이터를 저장하거나 로컬로 파일을 다운로드하여 저장할 수 있습니다. 안드로이드에서는 내부 저장소와 외부 저장소 두 가지 유형의 파일 시스템을 제공합니다.
내부 저장소
내부 저장소는 앱에게 할당된 고유한 영역으로, 다른 앱이 접근할 수 없습니다. 내부 저장소에 파일을 저장하려면 Context
의 openFileOutput()
메서드를 사용합니다.
내부 저장소의 파일들은 /data/data/your_package_name/files/
경로에 저장됩니다.
// 파일을 내부 저장소에 생성하는 예시
String filename = "myfile.txt";
String fileContents = "Hello world!";
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(fileContents.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
외부 저장소
외부 저장소는 앱 외부에 위치한 저장소로, 앱 외부에서도 접근 가능합니다. 외부 저장소에 파일을 저장하려면 외부 저장소의 상태를 확인하고 권한을 요청해야 합니다.
// 외부 저장소의 상태 확인하는 예시
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// 외부 저장소 사용 가능
// 파일을 외부 저장소에 생성하는 코드를 작성하세요
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// 외부 저장소는 읽기 전용
} else {
// 외부 저장소를 사용할 수 없음
}
파일 시스템 권한
외부 저장소를 사용하려면 AndroidManifest.xml
파일에 다음과 같은 권한을 추가해야 합니다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
결론
안드로이드에서는 내부 저장소와 외부 저장소 두 가지 파일 시스템을 제공하며, 각각 다른 방식으로 파일을 생성하고 접근할 수 있습니다. 파일을 다룰 때는 사용자의 데이터 손실을 방지하고 보안에 신경을 써야 합니다.