• 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:  }
  • 相关阅读:
    sendmessage参数
    combobox添加选项
    sql数据库时间转换convert
    Javascript知识四(DOM)
    Javascript知识三
    JavaScript知识(二)
    JavaScript知识(一)
    三层架构
    ADO知识的运用二(Day 28)
    SQL知识三(Day 27)
  • 原文地址:https://www.cnblogs.com/bobodeboke/p/2755947.html
Copyright © 2020-2023  润新知