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>

  • 相关阅读:
    双谷人才财务管理(3)
    远程服务器上个人目录下python路径设置
    ubnutu16安装谷歌浏览器
    一个数组除了一个元素只出现一次,其他元素全都出现了三次,输出出现一次的元素
    一个整型数组里除了一个数字之外,其它的数字都出现了两次。请写程序找出这个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。
    滑动窗口的最大值
    360
    拼多多2018/8/5算法工程师笔试
    最小的K个数 C++(BFPRT,堆排序)
    CCF201312-3 最大的矩形(100分)
  • 原文地址:https://www.cnblogs.com/qingblog/p/2540211.html
Copyright © 2011-2022 走看看