Android 数据存储与读取:文件

public class MainActivity extends Activity implements View.OnClickListener{
	Button btnSave;
	Button btnRead;
	EditText edFileName;
	EditText edFileContent;
	String fileName;
	String fileContent;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 获取页面中的组件
        btnSave=(Button) findViewById(R.id.btnSave);
        btnRead=(Button) findViewById(R.id.btnRead);
        //添加按钮监听
        btnSave.setOnClickListener(this);
        btnRead.setOnClickListener(this);
    }
    
	public void onClick(View v) {
		edFileName=(EditText) findViewById(R.id.edFileName);
		edFileContent=(EditText) findViewById(R.id.edContent);
		fileName=edFileName.getText().toString();
		fileContent=edFileContent.getText().toString();
		
		switch (v.getId()) {
	    	case R.id.btnSave:
	    		save(fileName,fileContent);
	    		Toast.makeText(getApplicationContext(), "保存成功!", 1).show();
	    		break;
	    	case R.id.btnRead:
	    		edFileContent.setText(read(fileName));
	    		break;
		} 
	}
	
	public void save(String fileName, String fileContent) {
		try {
			//创建输出流,模式为私有模式,只能被本应用访问,
			FileOutputStream outStream = getApplicationContext().openFileOutput(fileName, MODE_PRIVATE);
			//默认会保存到 /data/data/package name/files下,如果不存在则会创建,
			outStream.write(fileContent.getBytes());
			outStream.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public String read(String fileName)  {
		FileInputStream inputStream;
		try {
			inputStream = getApplicationContext().openFileInput(fileName);
			ByteArrayOutputStream outStream =new ByteArrayOutputStream();
			byte[] buffer=new byte[1024];
			int len=0;
			while((len=inputStream.read(buffer))!=-1){
				outStream.write(buffer, 0, len);
			}
			byte[] data=outStream.toByteArray();
			inputStream.close();
			outStream.close();
			return new String(data);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	
}


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值