[android] 안드로이드 파일 시스템과 파일 이름 규칙
안드로이드 앱을 개발하다 보면 파일 시스템과 파일 이름에 대한 이해가 필요합니다. 안드로이드는 리눅스 기반 운영체제를 기반으로 하기 때문에 리눅스 파일 시스템 규칙을 따릅니다.
안드로이드 파일 시스템
안드로이드 파일 시스템은 리눅스 파일 시스템을 기반으로 하며, 기본적으로 다음과 같은 중요한 디렉터리들이 있습니다.
/data
: 앱 데이터 및 설정 파일이 저장되는 디렉터리/system
: 시스템 레벨의 파일이 위치하는 디렉터리/sdcard
: 외부 저장소(메모리 카드)가 연결되었을 때의 마운트 포인트
안드로이드 앱은 주로 /data
디렉터리 내에 데이터를 저장하며, 특정 권한이 필요한 경우에는 /system
디렉터리에 접근할 수 있습니다.
파일 이름 규칙
안드로이드에서는 파일 이름 작명에도 일정한 규칙이 존재합니다.
- 파일 이름은 대소문자를 구분합니다.
- 특수문자로는 밑줄(
_
)과 하이픈(-
)만 허용됩니다. - 한글 파일 이름도 지원하지만, 파일 시스템이 지원하는 문자셋에 따라 파일 이름이 깨질 수 있으므로 주의가 필요합니다.
위의 규칙을 준수하여 파일을 작명하면 안드로이드 앱에서 안정적으로 파일을 읽고 쓸 수 있습니다.
파일 접근 권한
특정 디렉터리나 파일에 접근하기 위해서는 적절한 파일 시스템 권한이 필요합니다.
일반적으로, 안드로이드에서는 READ_EXTERNAL_STORAGE
또는 WRITE_EXTERNAL_STORAGE
권한을 통해 외부 저장소에 접근할 수 있습니다.
결론
안드로이드 앱을 개발하면서 파일 시스템을 다루거나 파일을 생성할 때에는 위에서 언급한 파일 시스템 규칙과 파일 이름 규칙을 주의깊게 살펴보고 준수해야 합니다.
마지막으로, 안드로이드 10(API 레벨 29)부터는 외부 저장소에 대한 권한 요청 시에 Scoped Storage
모델이 도입되어 권한 요청 및 파일 접근 방법이 변경되었으니 주의가 필요합니다.
참고 자료: