//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 |