解析Android中应用程序文件存储用得到的一些文件路径

废话不多说,直接看代码

        // 获得缓存文件路径,磁盘空间不足或清除缓存时数据会被删掉,一般存放一些临时文件
        // /data/data/<application package>/cache目录
        File cacheDir = getCacheDir();
        Log.d("TAG", "getCacheDir() : " + cacheDir.getAbsolutePath());

        // 获得文件存放路径,一般存放一些需要长期保留的文件
        // /data/data/<application package>/files目录
        File fileDir = getFilesDir();
        Log.d("TAG", "getFilesDir() : " + fileDir.getAbsolutePath());

        // 这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录
        // /data/data/<application package>/
        File dir = getDir("fileName", MODE_PRIVATE);
        Log.d("TAG", "getDir() : " + dir.getAbsolutePath());

        // 获取应用程序外部存储的缓存目录路径
        // SDCard/Android/data/<application package>/cache目录
        File externalCacheDir = getExternalCacheDir();
        Log.d("TAG", "getExternalCacheDir() : " + externalCacheDir.getAbsolutePath());

        // 获取应用程序外部存储的某一类型的文件目录,
        // SDCard/Android/data/<application package>/files目录
        // 这里的类型有
        // Environment.DIRECTORY_MUSIC音乐
        // Environment.DIRECTORY_PODCASTS 音频
        // Environment.DIRECTORY_RINGTONES 铃声
        // Environment.DIRECTORY_ALARMS 闹铃
        // Environment.DIRECTORY_NOTIFICATIONS 通知铃声
        // Environment.DIRECTORY_PICTURES 图片
        // Environment.DIRECTORY_MOVIES 视频
        File externalFilesDir = getExternalFilesDir(Environment.DIRECTORY_MUSIC);
        Log.d("TAG", "getExternalFilesDir() : " + externalFilesDir.getAbsolutePath());

        // 获取应用的外部存储的缓存目录
        File[] externalCacheDirs = getExternalCacheDirs();
        for (int i = 0; i < externalCacheDirs.length; i++) {
            Log.d("TAG", "getExternalCacheDirs() " + i + " : " + externalCacheDirs[i].getAbsolutePath());
        }

        // 获取应用的外部存储的某一类型的文件目录
        File[] externalFilesDirs = getExternalFilesDirs(Environment.DIRECTORY_MUSIC);
        for (int i = 0; i < externalFilesDirs.length; i++) {
            Log.d("TAG", "getExternalFilesDirs() " + i + " : " + externalFilesDirs[i].getAbsolutePath());
        }

        // 获取应用的外部媒体文件目录
        File[] externalMediaDirs = getExternalMediaDirs();
        for (int i = 0; i < externalMediaDirs.length; i++) {
            Log.d("TAG", "getExternalMediaDirs() " + i + " : " + externalMediaDirs[i].getAbsolutePath());
        }

        // 获得应用程序指定数据库的绝对路径
        // /data/data/<application package>/database/database.db目录
        File databasePath = getDatabasePath("database.db");
        Log.d("TAG", "getDatabasePath() : " + databasePath.getAbsolutePath());


        // -------------分界线-----------------------
        // 以下是一些共有的目录,与APP包名无关,不会随APP卸载被删除
        // /data目录
        File dataDirectory = Environment.getDataDirectory();
        Log.d("TAG", "Environment.getDataDirectory() : " + dataDirectory.getAbsolutePath());
        // /cache目录
        File downloadCacheDirectory = Environment.getDownloadCacheDirectory();
        Log.d("TAG", "Environment.getDownloadCacheDirectory() : " + downloadCacheDirectory.getAbsolutePath());
        // /sdcard目录
        File externalStorageDirectory = Environment.getExternalStorageDirectory();
        Log.d("TAG", "Environment.getExternalStorageDirectory() : " + externalStorageDirectory.getAbsolutePath());
        // /sdcard/Pictures目录
        File externalStoragePublicDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
        Log.d("TAG", "Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) : " + externalStoragePublicDirectory.getAbsolutePath());
        // /system目录
        File rootDirectory = Environment.getRootDirectory();
        Log.d("TAG", "Environment.getRootDirectory()() : " + rootDirectory.getAbsolutePath());


然后看Log

文本版:

06-07 13:25:38.919  2821  2821 D TAG     : getCacheDir() : /data/user/0/com.example.msi_cn.myapplication/cache
06-07 13:25:38.919  2821  2821 D TAG     : getFilesDir() : /data/user/0/com.example.msi_cn.myapplication/files
06-07 13:25:38.919  2821  2821 D TAG     : getDir() : /data/user/0/com.example.msi_cn.myapplication/app_fileName
06-07 13:25:38.922  2821  2821 D TAG     : getExternalCacheDir() : /storage/emulated/0/Android/data/com.example.msi_cn.myapplication/cache
06-07 13:25:38.925  2821  2821 D TAG     : getExternalFilesDir() : /storage/emulated/0/Android/data/com.example.msi_cn.myapplication/files/Music
06-07 13:25:38.925  2821  2821 D TAG     : getExternalCacheDirs() 0 : /storage/emulated/0/Android/data/com.example.msi_cn.myapplication/cache
06-07 13:25:38.925  2821  2821 D TAG     : getExternalCacheDirs() 1 : /storage/150C-1619/Android/data/com.example.msi_cn.myapplication/cache
06-07 13:25:38.925  2821  2821 D TAG     : getExternalFilesDirs() 0 : /storage/emulated/0/Android/data/com.example.msi_cn.myapplication/files/Music
06-07 13:25:38.925  2821  2821 D TAG     : getExternalFilesDirs() 1 : /storage/150C-1619/Android/data/com.example.msi_cn.myapplication/files/Music
06-07 13:25:38.927  2821  2821 D TAG     : getExternalMediaDirs() 0 : /storage/emulated/0/Android/media/com.example.msi_cn.myapplication
06-07 13:25:38.927  2821  2821 D TAG     : getExternalMediaDirs() 1 : /storage/150C-1619/Android/media/com.example.msi_cn.myapplication
06-07 13:25:38.927  2821  2821 D TAG     : getDatabasePath() : /data/user/0/com.example.msi_cn.myapplication/databases/database.db
06-07 13:25:38.927  2821  2821 D TAG     : Environment.getDataDirectory() : /data
06-07 13:25:38.927  2821  2821 D TAG     : Environment.getDownloadCacheDirectory() : /cache
06-07 13:25:38.932  2821  2821 D TAG     : Environment.getExternalStorageDirectory() : /storage/emulated/0
06-07 13:25:38.937  2821  2821 D TAG     : Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) : /storage/emulated/0/Pictures
06-07 13:25:38.937  2821  2821 D TAG     : Environment.getRootDirectory()() : /system

截图版:


由于我是使用的模拟器,所以可能有些出入,你也可以直接把代码复制过去在手机上跑一下看下log


好了,该说的注释上也说的差不多了,常用的基本就这些。



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/afei__/article/details/51606747
个人分类: Android
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

解析Android中应用程序文件存储用得到的一些文件路径

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭