• Android开发之SD卡上文件操作


    1. 得到存储设备的目录:/SDCARD(一般情况下)

    SDPATH=Environment.getExternalStorageDirectory()+"/";

    2. 判断SD卡上的文件夹是否存在:通过File对象的exists()方法。

      /**
       * 判断文件是否已经存在;
       *
      /
      public boolean checkFileExists(String filepath) {
             File file=new File(SDPATH+filepath);
             return file.exists();
        }

    3.在SD卡上创建目录:通过File对象的mkdir()方法实现。

      /*
       * 在SD卡上创建目录;
       */
      public File createDIR(String dirpath) {
        File dir=new File(SDPATH+dirpath);
        dir.mkdir();
        return dir;
    }

    4.在SD卡上创建文件:通过File对象的createNewFile()方法实现。
      /*
       * 在SD卡上创建文件;
       */
         public File createFile(String filepath) throws IOException{
          File file=new File(SDPATH+filepath);
               file.createNewFile();
               return file;
         }

    5.将InputStream字节流写入到SD卡文件中
         /**
          * 将一个InputStream中的数据写入至SD卡中
          */
       public File writeStreamToSDCard(String dirpath,String filename,InputStream input) {
                 File file = null;
                 OutputStream output=null;
                  try {
                      //创建目录;
                      createDIR(dirpath);
                      //在创建 的目录上创建文件;
                      file = createFile(dirpath+filename);
                      output=new FileOutputStream(file);
                      byte[]bt=new byte[4*1024];
                      while (input.read(bt)!=-1) {
                         output.write(bt);
                      }
                    //刷新缓存,
                      output.flush();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
                  finally{

                      try{
                  output.close();
                      }
              catch (Exception e) {
                         e.printStackTrace();
                      }
                  }

                 return file;

        }


    6. 访问的权限:
    需在AndroidManifest中加上:
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

  • 相关阅读:
    cf1131f 构造+并查集
    多源最短路小结
    bzoj2200拓扑排序+最短路+联通块
    cf478d 线性dp好题
    cf919D 线性dp+拓扑排序
    hiho1460 rmq模板题
    最小标示法模板 poj1509
    JAVA动态代理机制分析guide
    java动态代理(JDK和cglib)
    AOP面向切面编程
  • 原文地址:https://www.cnblogs.com/xiashenbin/p/2636159.html
Copyright © 2020-2023  润新知