//1. 내장 메모리 핸들링
public class Io01 extends Activity 
implements View.OnClickListener {
    private Button b1, b2, b3, b4, b5;
    private EditText et;
    private static final String FNAME = "aa\\bb\\save.txt";
    private static final String DPATH = "aa/bb";
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et = (EditText)findViewById(R.id.EditText01);
        b1 = (Button)findViewById(R.id.Button01);
        b2 = (Button)findViewById(R.id.Button02);
        b3 = (Button)findViewById(R.id.Button03);
        b4 = (Button)findViewById(R.id.Button04);
        b5 = (Button)findViewById(R.id.Button05);
        
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);
        b5.setOnClickListener(this);
    }
    @Override
    public void onStart(){
    super.onStart();
    read();
    }
    @Override
    public void onStop(){
    super.onStop();
    write(); reset();
    }
    @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button01: read(); break;
case R.id.Button02: write(); reset(); break;
case R.id.Button03: reset(); break;
case R.id.Button04: del(); reset(); break;
case R.id.Button05: makeDir(); break;
}
}
    private void read(){
    //저장된 파일을 읽어 오세요.
    FileInputStream fis = null;
    BufferedReader br = null;
    String line = "";
    StringBuilder sb = new StringBuilder();
    try{
    fis = openFileInput(FNAME);
    br = new BufferedReader(
    new InputStreamReader(fis), 512);
    while((line = br.readLine()) != null){
    sb.append(line + "\n");
    }
    et.setText(sb.toString());
    }catch(IOException ie){
    }finally{
    try{
    if(br != null) br.close();
    if(fis != null) fis.close();
    }catch(IOException ie){}
    }
    }
    private void write(){
    FileOutputStream fos = null;
    PrintWriter pw = null;
    String data = null;
    try {
    fos = this.openFileOutput(FNAME , MODE_PRIVATE);
    pw = new PrintWriter(fos, true);
    data = et.getText().toString();
    if(data != null) data = data.trim();
    if(data.length() != 0){
    pw.println(data);
    showMsg(FNAME + " 파일에 쓰기 성공");
    }
    }catch(FileNotFoundException fnfe){
    showMsg(FNAME + " 파일을 찾을 수 없음");
    }finally{
    try{
    if(pw != null) pw.close();
    if(fos != null) fos.close();
    }catch(IOException ie){}
    }
    }
    private void reset(){
    et.setText("");
    }
    private void del(){
    //파일(save.txt) 삭제 구현 
    deleteFile(FNAME);
    showMsg(FNAME + "이란 파일 삭제 완료");
    }
    private void makeDir(){
    File f = new File("/data/data/soo.io.test1/files/"+DPATH);
    if(!f.exists()){
    f.mkdirs();
    showMsg(DPATH+"이란 디렉토리 생성 완료");
    }
    }
    private void showMsg(String str){
    Toast.makeText(this, str, 0).show();
    }
}

'스마트폰 > 안드로이드' 카테고리의 다른 글

InputOutputStream_3 공부.  (0) 2011.05.13
InputOutputStream_2 공부.  (0) 2011.05.13
다이얼로그박스 공부.  (0) 2011.05.13
다이나믹 레이아웃 공부.  (0) 2011.05.13
Toast 토스트 공부.  (0) 2011.05.13

+ Recent posts