[Android] 파일 관리 Android 2012. 2. 29. 15:48

안드로이드 상에서 파일 관리는 자바 코드와 동일한 형식이다.

단 리소스에 추가 한 것만 좀 다른데 아무래도 리소스에 포함해서 하는 것이 좋지 않나 싶다.

실제 배포 경우 파일을 누락하고 하면 문제가 크니까 말이다.

다음은 그 코드 내역이다.

package imageview.test;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.*;
import java.io.*;

public class ImageViewActivity extends Activity{
 EditText txt;
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  txt = (EditText)findViewById(R.id.txt);
  findViewById(R.id.save).setOnClickListener(clicklistener);
  findViewById(R.id.load).setOnClickListener(clicklistener);
  findViewById(R.id.res).setOnClickListener(clicklistener);
  findViewById(R.id.delete).setOnClickListener(clicklistener);
 }
 
 Button.OnClickListener clicklistener = new View.OnClickListener() {  
  @Override
  public void onClick(View v) {
   switch(v.getId()){
    case R.id.save :
     try{
      FileOutputStream fos = openFileOutput("text.txt",Context.MODE_WORLD_READABLE);
      String str = "file save test";
      fos.write(str.getBytes());
      fos.close();
      txt.setText("Success");
     }
     catch(Exception btn1ex){}
     break;
    case R.id.load :
     try{
      FileInputStream fis = openFileInput("text.txt");
      byte[] data = new byte[fis.available()];
      while(fis.read(data)!=-1){}
      fis.close();
      txt.setText(new String(data));
     }
     catch(FileNotFoundException btn2ex){txt.setText("File Not Fount");}
     catch(Exception btn2ex){}
     break;
    case R.id.res :
     try{
      InputStream res = getResources().openRawResource(R.raw.test);
      byte[] data = new byte[res.available()];
      while(res.read(data)!=-1){}
      res.close();
      txt.setText(new String(data));
     }
     catch(Exception btn3ex){}
     break;
    case R.id.delete :
     try{
      if(deleteFile("text.txt")){
       txt.setText("Delete");
      }
      else{
       txt.setText("Delete Failed");
      }
     }
     catch(Exception btn4ex){}
     break;
   }
  }
 };
}