博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android——数据存储:手机外部存储 SD卡存储
阅读量:5129 次
发布时间:2019-06-13

本文共 5983 字,大约阅读时间需要 19 分钟。

xml

java

需要权限

//向外部空间存储文件 保存到带包名的目录    public void onclick7(View view)    {        //        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))        {            //1.获取要存储的内容            String content = et_5.getText().toString();            //2.获取外部存储带包名的目录 ——只到根目录           // String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();            //Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //参数 代表不同文件类型的子目录 如果没有就传null 获取到根目录下的带包名的目录            String sdpath = getExternalFilesDir(null).getAbsolutePath();            Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //3.构造输出流            sdpath += "/" +FILENAME;            try {                FileOutputStream fos = new FileOutputStream(sdpath,true);                //传统方式  字节数组方式                fos.write(content.getBytes("utf-8"));                fos.close();                Toast.makeText(Activitydata.this, "保存成功", Toast.LENGTH_SHORT).show();            } catch (Exception e) {                e.printStackTrace();                Toast.makeText(Activitydata.this, "保存失败", Toast.LENGTH_SHORT).show();            }        }        else        {            Toast.makeText(Activitydata.this, "sd卡没有挂载", Toast.LENGTH_SHORT).show();        }    }    //从外部存储空间中读取带包名文件    //判断是否挂载    public void onclick8(View view)    {        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))        {            //1.获取要存储的内容            //String content = et_5.getText().toString();            //2.获取外部存储带包名的目录 ——只到根目录            // String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();            //Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //参数 代表不同文件类型的子目录 如果没有就传null 获取到根目录下的带包名的目录            String sdpath = getExternalFilesDir(null).getAbsolutePath();           // Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //3.构造输入流            sdpath += "/" +FILENAME;            try {                FileInputStream fis = new FileInputStream(sdpath);                byte[] b = new byte[1024];                int i = 0;                StringBuilder sbr = new StringBuilder();                while ((i = fis.read(b))>0)                {                    sbr.append(new String(b,0,i));                    et_6.setText(sbr);                }                fis.close();                Toast.makeText(Activitydata.this, "获取成功", Toast.LENGTH_SHORT).show();            } catch (Exception e) {                e.printStackTrace();                Toast.makeText(Activitydata.this, "获取失败", Toast.LENGTH_SHORT).show();            }        }        else        {            Toast.makeText(Activitydata.this, "sd卡没有挂载", Toast.LENGTH_SHORT).show();        }    }    //保存文件到自定义目录    public void onclick9(View view)    {        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {            //1.获取要存储的内容            String content = et_5.getText().toString();            //2.获取外部存储的根目录            String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();            //在sd卡的根目录下创建子目录            sdpath += "/hanqi";            //实例化File,指向一个目录            File file = new File(sdpath);            //如果不存在创建一个            if (!file.exists()) {                //创建目录                file.mkdirs();            }                Toast.makeText(Activitydata.this, "path= " + sdpath, Toast.LENGTH_SHORT).show();                //3.创建输出流                sdpath += "/" + FILENAME;                try {                    FileOutputStream fos = new FileOutputStream(sdpath, true);                    //传统方式  字节数组方式                    fos.write(content.getBytes("utf-8"));                    fos.close();                    Toast.makeText(Activitydata.this, "保存成功", Toast.LENGTH_SHORT).show();                } catch (Exception e) {                    e.printStackTrace();                    Toast.makeText(Activitydata.this, "保存失败", Toast.LENGTH_SHORT).show();                }            }        else        {            Toast.makeText(Activitydata.this, "sd卡没有挂载", Toast.LENGTH_SHORT).show();        }    }    public void onclick10(View view){        if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))        {            //1.获取要存储的内容            //String content = et_5.getText().toString();            //2.获取外部存储带包名的目录 ——只到根目录            String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();            //Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //参数 代表不同文件类型的子目录 如果没有就传null 获取到根目录下的带包名的目录            //String sdpath = getExternalFilesDir(null).getAbsolutePath();            // Toast.makeText(Activitydata.this, "sdpath= "+sdpath, Toast.LENGTH_LONG).show();            //3.构造输入流            sdpath += "/hanqi/" +FILENAME;            Toast.makeText(Activitydata.this, ""+sdpath, Toast.LENGTH_SHORT).show();            try {                FileInputStream fis = new FileInputStream(sdpath);                byte[] b = new byte[1024];                int i = 0;                StringBuilder sbr = new StringBuilder();                while ((i = fis.read(b))>0)                {                    sbr.append(new String(b,0,i));                    et_6.setText(sbr);                }                fis.close();                Toast.makeText(Activitydata.this, "获取成功", Toast.LENGTH_SHORT).show();            } catch (Exception e) {                e.printStackTrace();                Toast.makeText(Activitydata.this, "获取失败", Toast.LENGTH_SHORT).show();            }        }        else        {            Toast.makeText(Activitydata.this, "sd卡没有挂载", Toast.LENGTH_SHORT).show();        }    }

 

 

 

转载于:https://www.cnblogs.com/Chenshuai7/p/5381219.html

你可能感兴趣的文章
WDK例子之键盘过滤驱动简单总结
查看>>
js 基础篇必看(点击事件轮播图的简单实现)
查看>>
perl中的pack与unpack
查看>>
《JavaScript高级程序设计》读书笔记(十):本地对象Date
查看>>
extentreports报告插件之extentX之服务搭建(三)
查看>>
windows 命令
查看>>
hdu4180 数论
查看>>
Vue(一)创建第一个Vue程序
查看>>
P3369 【模板】普通平衡树
查看>>
PHP100-第四讲 PHP5.4 运算符、流程控制
查看>>
build/core/config.mk
查看>>
Python--学习笔记5 numpy
查看>>
软工网络15个人作业1
查看>>
关于CMD/AMD和Common.js/Sea.js/Require.js
查看>>
Flask RESTful API搭建笔记
查看>>
【啊哈!算法】之四、选择排序
查看>>
棋牌游戏服务器架构: 总体设计
查看>>
Day-2:检索数据
查看>>
HDU - 5828 Rikka with Sequence (线段树)
查看>>
利用vcard和qrcode.js生成二维码导入联系人
查看>>