android 파일 읽기 및 쓰기

2768 단어
1. 휴대폰 저장 공간에 파일 저장
//ctrl+shift+y          
//ctrl+shift+x          
public void save(String filename, String content) throws Exception {
//openFileOutput       ,               
FileOutputStream outStream = context.openFileOutput(filename, Context.MODE_APPEND);
outStream.write(content.getBytes());
outStream.close();
}

2. SD 카드에 파일 저장
sd 카드 사용 권한 추가
      SDCard,       SDCard   。
 AndroidManifest.xml     SDCard     :
<!--  SDCard           -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!--  SDCard       -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

SD 카드 사용 가능 여부 판단
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
service.saveToSDCard(filename, content);
Toast.makeText(getApplicationContext(), @"    ", 1).show();
}else{
Toast.makeText(getApplicationContext(), @"SD         ", 1).show();
}
//Environment.getExternalStorageDirectory()     SD    
public void saveToSDCard(String filename, String content)throws Exception {
File file = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(content.getBytes());
outStream.close();
}

3. 파일 내용 읽기
/**
*       
* @param filename     
* @return     
* @throws Exception
*/
public String read(String filename) throws Exception {
FileInputStream inStream = context.openFileInput(filename);
ByteArrayOutputStream outStream = new ByteArrayOutputStream();//                   
byte[] buffer = new byte[1024];
int len = 0;
while((len = inStream.read(buffer)) != -1){
outStream.write(buffer, 0, len);
}
byte[] data = outStream.toByteArray();
return new String(data);
}
4.파일에 쓰기 위한 네 가지 모드
Context.MODE_PRIVATE    =  0
Context.MODE_APPEND    =  32768
Context.MODE_WORLD_READABLE =  1
Context.MODE_WORLD_WRITEABLE =  2

Context.MODE_PRIVATE
: 기본 작업 모드로 이 파일이 개인 데이터라는 것을 의미하며 그 자체로만 접근할 수 있습니다. 이 모드에서 쓴 내용은 원래 파일의 내용을 덮어쓰고 새로 쓴 내용을 원래 파일에 추가하려면 덮어씁니다.사용 가능
Context.MODE_APPEND
Context.MODE_APPEND: 모드에서 파일이 있는지 확인하고 존재하면 파일에 내용을 추가하고 그렇지 않으면 새 파일을 만듭니다.
Context.MODE_WORLD_READABLE 및 Context.MODE_WORLD_WRITEABLE은 다른 응용 프로그램에서 파일을 읽고 쓸 수 있는 권한이 있는지 여부를 제어합니다.
MODE_WORLD_READABLE: 현재 파일을 다른 응용 프로그램에서 읽을 수 있음을 나타냅니다.
MODE_WORLD_WRITEABLE: 현재 파일을 다른 응용 프로그램에서 쓸 수 있음을 나타냅니다.
다른 애플리케이션에서 파일을 읽고 쓰기를 원하는 경우 다음을 입력할 수 있습니다.
openFileOutput("wxxu.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

좋은 웹페이지 즐겨찾기