• Android 存储 SD卡


     

     给出关键代码

    public void save(View v) throws IOException {
            //1. 判断sd卡状态, 如果是挂载的状态才继续, 否则提示
            if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                //2. 读取输入的文件名/内容
                String fileName = et_of_name.getText().toString();
                String content = et_of_content.getText().toString();
                //3. 得到指定文件的OutputStream
                    //1).得到sd卡下的files路径   #参数会区别文件类型,创建对应的文件夹
                String filesPath = getExternalFilesDir(null).getAbsolutePath();
                    //2).组成完整路径
                String filePath = filesPath+"/"+fileName;
                    //3). 创建FileOutputStream
                FileOutputStream fos = new FileOutputStream(filePath);
                //4. 写数据 
                fos.write(content.getBytes("utf-8"));
                fos.close();
                //5. 提示
                Toast.makeText(this, "保存完成", 0).show();
            } else {
                Toast.makeText(this, "sd卡没有挂载", 0).show();
            }
            
        }
    
        public void read(View v) throws Exception {
            
            // 1. 判断sd卡状态, 如果是挂载的状态才继续, 否则提示
            if (Environment.getExternalStorageState().equals(
                    Environment.MEDIA_MOUNTED)) {
                // 2. 读取输入的文件名
                String fileName = et_of_name.getText().toString();
                // 3. 得到指定文件的InputStream
                    // 1).得到sd卡下的files路径
                String filesPath = getExternalFilesDir(null).getAbsolutePath();
                    // 2).组成完整路径
                String filePath = filesPath + "/" + fileName;
                    // 3). 创建FileInputStream
                FileInputStream fis = new FileInputStream(filePath);
                // 4. 读取数据, 成String
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] buffer = new byte[1024];
                int len = -1;
                while((len=fis.read(buffer))!=-1) {
                    baos.write(buffer, 0, len);
                }
                String content = baos.toString();
                
                // 5. 显示
                et_of_content.setText(content);
            } else {
                Toast.makeText(this, "sd卡没有挂载", 0).show();
            }
        }
    View Code
  • 相关阅读:
    iOS:图片相关(19-05-09更)
    iOS:文字相关(19-01-08更)
    iOS:通信录(完成)(18-01-18更)
    Swift 中的Closures(闭包)详解
    Swift 中的高阶函数和函数嵌套
    Swift API设计原则
    Swift下CoreData的使用
    iOS 使用贝塞尔曲线绘制路径
    iOS CALayer使用
    iOS 多线程的使用
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/14440400.html
Copyright © 2020-2023  润新知