Notice
Recent Posts
Recent Comments
Link
관리 메뉴

설.현.아빠

[FILE] 읽고, 쓰기 본문

안드로이드/File

[FILE] 읽고, 쓰기

설.현.아빠 2011. 2. 11. 10:20




 

<?xml version="1.0" encoding="utf-8"?>

 

<!-- main.xml -->

<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
>
 <Button
  android:id="@+id/mainButton"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="닫기" />
 <EditText
  android:id="@+id/mainEditText"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:singleLine="false"
  android:gravity="top" />
</LinearLayout>

 

// FileReadWrite.java

 

package lee.android.FileReadWrite;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class FileReadWrite extends Activity {
 private final static String NOTES = "note.txt";
 private EditText editor;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Button btn = (Button) findViewById(R.id.mainButton);
  editor = (EditText) findViewById(R.id.mainEditText);

  btn.setOnClickListener(new Button.OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    finish();
   }
  });
 }

 public void onResume() {
  // 처음 Activity 를 실행하거나 멈췄다가 다시 실행되는 경우 openFileInput() Method 를 사용해
  // note.txt 파일에 저장된 내용을 다시 읽어서 화면에 표시하게 했다.
  super.onResume();

  try {
   InputStream in = openFileInput(NOTES);
   
   if (in != null) {
    InputStreamReader isreader = new InputStreamReader(in);
    BufferedReader bufferedreader = new BufferedReader(isreader);
    String string;
    StringBuffer stringbuffer = new StringBuffer();

    while ((string = bufferedreader.readLine()) != null) {
     stringbuffer.append(string + "\n");
    }

    in.close();
    editor.setText(stringbuffer.toString());
   }

  } catch (java.io.FileNotFoundException e) {
   // 아직 저장된 내용이 없을 뿐 문제는 없다.
  } catch (Throwable t) {
   Toast.makeText(this, "Exception: " + t.toString(), 2000).show();
  }

 }

 public void onPause() {
  // 다른 Activity 때문에 BackGround로 전환되거나 닫기 버튼을 통해 종료되는 경우
  // openFileOutPut() Method 로 note.txt파일을 영어 현재 화면의 내용을 저장함.
  super.onPause();

  try {
   OutputStreamWriter out = new OutputStreamWriter(openFileOutput(
     NOTES, 0));

   out.write(editor.getText().toString());
   out.close();
  } catch (Throwable t) {
   Toast.makeText(this, "Exception: " + t.toString(), 2000).show();
  }
 }

}

 


Comments