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; } }
移动开发qq群:59516399
csdn下载地址:http://download.csdn.net/detail/wenwei19861106/4975929