android文件存储教程,android开发基础教程—文件存储功能实现

文件存储:

public class MainActivity extends Activity {

EditText mname, mage;

TextView mtv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mname = (EditText) findViewById(R.id.editText1);

mage = (EditText) findViewById(R.id.editText2);

mtv = (TextView) findViewById(R.id.textView1);

}

public void onClick(View v) {

String name = mname.getText().toString();

int age = Integer.parseInt(mage.getText().toString());

String cont = "name=" + name + ",age=" + age + "\n";

try {

int id = v.getId();

// 内部保存

if (id == R.id.button1) {

FileOutputStream fos = this.openFileOutput("mytext.txt",

Context.MODE_APPEND | Context.MODE_WORLD_WRITEABLE

| Context.MODE_WORLD_READABLE);

fos.write(cont.getBytes());

fos.close();

Toast.makeText(this, "写入完成", 1).show();

}

// 读取

else if (id == R.id.button2) {

FileInputStream fis = this.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

String str = new String(bytes);

mtv.setText(str);

}

} catch (Exception e) {

e.printStackTrace();

}

}

其他app如果想要访问这个mytext.txt文件格式如下:

public class MainActivity extends Activity {

TextView mcontent;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mcontent=(TextView) findViewById(R.id.textView1);

}

public void onClick(View v){

switch (v.getId()) {

case R.id.button1:

try {

readRemoteFileByAbslutePath();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

break;

case R.id.button2:

try {

WriteRemoteFileByAbslutePath();

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

break;

default:

break;

}

}

/**

* 通过文件绝对路径读取远程文件

* @throws Exception

*/

public void readRemoteFileByAbslutePath() throws Exception{

String path = "/data/data/com.nanguabing.filedemo/files/mytext.txt" ;

FileInputStream fis = new FileInputStream(path);

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

String str = new String(bytes);

mcontent.setText(str);

Log.i("Other", str);

}

/**

* 通过文件绝对路径读取远程文件

* @throws Exception

*/

public void WriteRemoteFileByAbslutePath() throws Exception{

String path = "/data/data/com.nanguabing.filedemo/files/mytext.txt" ;

FileOutputStream fos = new FileOutputStream(path,true);

fos.write("other write! ".getBytes());

fos.close();

Log.i("Other", "other write over!");

}

/**

* 通过包相关上下文写入远程文件

* @throws Exception

*/

public void readRomoteByPackageContext() throws Exception {

String pname = "com.nanguabing.filedemo";

Context ctx = this.createPackageContext(pname,

Context.CONTEXT_IGNORE_SECURITY);

FileInputStream fis = ctx.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

Log.i("Other",new String(bytes));

}

/**

* 通过包相关上下文写入远程文件

*/

public void readRomoteByPackageContext2() throws Exception {

String pname = "com.nanguabing.filedemo";

Context ctx = this.createPackageContext(pname,

Context.CONTEXT_INCLUDE_CODE);

FileInputStream fis = ctx.openFileInput("mytext.txt");

byte[] bytes = new byte[fis.available()];

fis.read(bytes);

fis.close();

Log.i("Other",new String(bytes));

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值