zoukankan      html  css  js  c++  java
  • andrid向sdcard写入文件

    1,在配置文件中写入操作权限

     <!-- 想sdcard中创建或者删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
    <!-- 向sdcard中写入数据的权限 -->
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    2,判断sdcard是否存在

    Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED

    如果返回true说明sdcard存在并且可以进行读和写入

    3,获得sdcard的路径

    Environment.getExternalStorageDirectory();

    4,不能直接在非sdcard的根目录创建文件,而是需要先创建目录,再创建文件;

    (补充,获得应用本身data目录的方法是this.getFilesDir();不过这种情况与sdcard不同的是,这种方式中文件默认是私有的,而后者则默认可被所有的程序访问)

    5,可以参考别人的一段代码

    变量声明:

       1: private final static String PATH = "/sdcard/digu";
       2: private final static String FILENAME = "/notes.txt";

     向sdcard写文件

       1: /**
       2:   * 写文件
       3:   */
       4:  private void onWrite() {
       5:      try {
       6:          Log.d(LOG_TAG, "Start Write");
       7:          //1.判断是否存在sdcard
       8:          if (Environment.MEDIA_MOUNTED.equals(Environment
       9:                  .getExternalStorageState())) {
      10:              //目录
      11:              File path = new File(PATH);
      12:              //文件
      13:              File f = new File(PATH + FILENAME);
      14:              if(!path.exists()){
      15:                  //2.创建目录,可以在应用启动的时候创建
      16:                  path.mkdirs();
      17:              }
      18:              if (!f.exists()) {
      19:                  //3.创建文件
      20:                  f.createNewFile();
      21:              }
      22:              OutputStreamWriter osw = new OutputStreamWriter(
      23:                      new FileOutputStream(f));
      24:              //4.写文件,从EditView获得文本值
      25:              osw.write(editor.getText().toString());
      26:              osw.close();
      27:          }
      28:      } catch (Exception e) {
      29:          Log.d(LOG_TAG, "file create error");
      30:      }
      31:  }
  • 相关阅读:
    iOS添加Google语言识别功能
    转载:Ajax中get与post请求详解
    SSH:Spring+Spring MVC+hibernate整合开发笔记
    IDEA中创建maven web项目的详细部署步骤
    C++实现RTMP协议发送H.264编码及AAC编码的音视频
    C++ 勘误
    Postgresql ODBC驱动,用sqlserver添加dblink跨库访问postgresql数据库
    .Net NPOI 上传excel文件、提交后台获取excel里的数据
    .Net NPOI 根据excel模板导出excel、直接生成excel
    .Net 登陆的时候添加验证码
  • 原文地址:https://www.cnblogs.com/bobodeboke/p/2755947.html
Copyright © 2011-2022 走看看