zoukankan      html  css  js  c++  java
  • Android开发之SD卡上文件操作 (转)

    http://mwga.net.blog.163.com/blog/static/106456728201131321029130/
    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>

  • 相关阅读:
    ABP PUT、DELETE请求错误405.0
    Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2
    Angular 报错 Can't bind to 'formGroup' since it isn't a known property of 'form'
    ABP 用swagger UI测试API报401无权限访问问题
    ABP .Net Core API和Angular前端APP集成部署
    ABP .Net Core API和Angular前端APP独立部署跨域问题(No Access-Control-Allow-Origin)
    Hosts文件实际应用 配置内部服务器提高访问效率和速度
    mysql-proxy实现读写分离
    mysql主从复制-linux版本
    nginx作反向代理,实现负载均衡
  • 原文地址:https://www.cnblogs.com/qingblog/p/2540211.html
Copyright © 2011-2022 走看看