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

你可能感兴趣的:(Android开发)