Android中文件写入写出

package cn.itcast.fileio;

import java.io.FileInputStream;
import java.io.FileOutputStream;

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

public class MainActivity extends Activity implements View.OnClickListener {

 private EditText etName;
 private EditText etAge;
 private EditText etCont;
 
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //获得各个R
        etName = (EditText) findViewById(R.id.etName);
        etAge = (EditText) findViewById(R.id.etAge);
        etCont = (EditText) findViewById(R.id.etCont);
       
        //之所以能够直接使用setOnClickListener(this);是应为上面实现了View.OnClickListener
        findViewById(R.id.btnSave).setOnClickListener(this);
        findViewById(R.id.btnRead).setOnClickListener(this);
    }

 public void onClick(View v) {
  try {
   String name = etName.getText().toString();
   String age = etAge.getText().toString();
   String cont = "name = " + name + ",age = " + age + "\r\n";
   //取得控件的id
   int id = v.getId();
   //save
   if (id == R.id.btnSave) {
    //其中这里模式使用了一个地址/data/data/cn.itcast.fileio/fileio/itcast.txt
    //下面定义的还有以追加方式写入,并且创建的文件是可写,可读的。Context.MODE_APPEND
    //| Context.MODE_WORLD_READABLE
    //| Context.MODE_WORLD_WRITEABLE);   注意这里一定要写上。
    FileOutputStream fos = this.openFileOutput("itcast.txt",
       Context.MODE_APPEND
       | Context.MODE_WORLD_READABLE
       | Context.MODE_WORLD_WRITEABLE);
    fos.write(cont.getBytes());
    fos.close();
    Toast.makeText(this, "文件写入完成", 1).show();
   }
   //read 表示如果监听到的是btnRead的,则这个事件按照下面的方式写。
   else if (id == R.id.btnRead) {
    //将文件读入。
    FileInputStream fis = this.openFileInput("itcast.txt");
    //按照文件的大小写入。
    byte[] bytes = new byte[fis.available()];
    fis.read(bytes);
    fis.close();
    //表示在etCont这个文本框中写上上面写入的数据
    etCont.setText(new String(bytes));
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

上一篇:模拟使用Flume监听日志变化,并且把增量的日志文件写入到hdfs中


下一篇:采用SOA架构的原因