programming/android

[Android] 파일 입출력

4. 파일 입출력

 

4.1 파일 사용 방법

4.1.1 애플리케이션 패키지에 포함된 리소스 파일 사용

res/raw 폴더 (읽기만 가능)

안드로이드에서 따로 처리하지 않고 애플리케이션에 포함하여 배포

Resource를 통해 openRawResource()로 파일 오픈

 

4.1.2 Internal Storage(내장 메모리)

/data/data/패키지이름/file 폴더(읽기/쓰기 가능)

openFileInput(), openFileOutput() 사용 ('자바에는 없는 메서드들)

 

4.1.3 External Storage(외부 메모리)

읽기, 쓰기 가능

외부 메모리에 파일을 저장하기 위해서는 권한 필요

<users-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

 

4.2 파일 입출력

4.2.1 openFileOutput(String name, int mode)

4.2.1.1 MODE_PRIVATE
다른 앱에서 사용할 수 없는 배타적인 모드(기본 모드)

 

4.2.1.2 MODE_APPEND
파일이 이미 존재할 경우 덮어쓰기가 아닌 추가 모드

 

4.2.1.3 MODE_WORLD_READABLE
다른 앱에서 파일을 읽을 수 있도록 허용

 

MODE_WORLD_WRITEABLE
다른 앱에서 파일을 기록할 수 있도록 허용

 

4.2.2 openFileInput(String name)

 

4.2.3 파일 경로

/data/data/패키지명/files 폴더로 고정됨(리눅스의 보안 정책 상 다른 경로를 임의로 지정할 수 없음)

 

 

4.3 실습예제

4.3.2 res/layout/main.xml

4.3.4 res/raw/words.xml

4.3.5 res/layout/resource.xml

4.3.6 ResourceActivity.java

4.3.7 res/layout/read_writer.xml

4.3.8 ReadWriteActivity.java