美文网首页
初学Java编程---模糊不清1

初学Java编程---模糊不清1

作者: 璀璨黄铜 | 来源:发表于2017-10-26 14:48 被阅读0次

    关于文件的一些问题

    1、File.mkdir()和File.mkdirs()的差别

    "File.mkdirs()方法创建目录,该方法允许一次性创建多级目录,例如new File(“c:\\1\\2”).mkdirs();同时创建目录1和目录2.如果目录1存在将不被重新创建。File.mkdir()与mkdirs()不同在于mkdir()只能创建一级目录。而mkdirs()在需要时会自动创建上级目录。"

    2、file.exists()   文件目录是否存在

    3、内部外部对比如下↓

    external storage    外部存储                 

    Environment.getExternalStorageDirectory()               SD根目录:/mnt/sdcard/ (6.0后写入需要用户授权)

    context.getExternalFilesDir(dir)           路径为:/mnt/sdcard/Android/data/< package name >/files/…

    context.getExternalCacheDir()             路径为:/mnt/sdcard//Android/data/< package name >/cach/…

    internal storage    内部存储                  

    context.getFilesDir()                             路径是:/data/data/< package name >/files/…

    context.getCacheDir()                          路径是:/data/data/< package name >/cach/…

    4、正常开发获取存储文件路径的方法

    /**

    * @param context 上下文对象

    * @param dir  存储目录

    */

    public static String getFilePath(Context context,String dir) {

              String directoryPath="";

               //判断SD卡是否可用

              if (MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) ) {

                    directoryPath =context.getExternalFilesDir(dir).getAbsolutePath() ;

              }else{

                    //没内存卡就存机身内存

                   directoryPath=context.getFilesDir()+File.separator+dir;

             }

             File file = new File(directoryPath);

             if(!file.exists()){                             //判断文件目录是否存在

                  file.mkdirs();

           }

           return directoryPath;

    }

    相关文章

      网友评论

          本文标题:初学Java编程---模糊不清1

          本文链接:https://www.haomeiwen.com/subject/scuhpxtx.html