// 获得缓存文件路径,磁盘空间不足或清除缓存时数据会被删掉,一般存放一些临时文件
// /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());

Android app中存储文件的路径的更多相关文章

  1. Android app中的so库和CPU架构

    一.android目前有几种cpu架构? 早期的Android系统几乎只支持ARMv5的CPU架构,目前支持七种CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MI ...

  2. 在Android App中集成Google登录

    技术文章 来源:码农网 发布:2016-09-19 浏览:194 摘要:今天,几乎所有的web和移动app都自带谷歌和Facebook登录,这对app开发者和用户来说是一个非常有用的功能,因为几乎每个 ...

  3. android APP 中微信分享功能实现 的总结

    //花了很长时间最终完成了微信分享功能,中间走了很多弯路,在此做一下小结,希望对在应用中使用到微信分享的朋友有所帮助. 主要问题就是下面两个: 1.为什么运行了项目之后,微信分享只是闪了一下就没有了? ...

  4. Android获取可存储文件所有路径

    引言:大家在做app开发的时候,基本都会保存文件到手机,android存储文件的地方有很多,不像ios一样,只能把文件存储到当前app目录下,并且android手机由于厂家定制了rom,sdcard的 ...

  5. APP中的存储路径

    访问SD卡 所需权限  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/& ...

  6. 【转】Windows 8 desktop app中dll搜索路径设置的诡异现象,Bug?

    原文地址:http://blog.csdn.net/my_business/article/details/8850151 某个桌面程序在win 8上运行异常的问题困扰了我有近一周,今天终于找到了根本 ...

  7. 将unity3d项目嵌入到Android App中使用

    创建一个新的AndroidStudio app项目. 1.添加库文件:拷贝unity安装目录下的库文件:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\ ...

  8. 在android app中使用STL库(转)

    1.在jni目录下新建Application.mk; 加入 APP_STL := stlport_static右边的值还可以换成下面几个: system - 使用默认最小的C++运行库,这样生成的应用 ...

  9. Android App中使用Gallery制作幻灯片播放效果

    http://www.jb51.net/article/83313.htm 我们有时候在iPhone手机上或者Windows上面看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果 ...

随机推荐

  1. SQL 中 CASE - WHEN - THEN - ELSE - END 的小结

    在SQLServer中给变量赋备件值 可以用 @var = CASE WHEN EXPRESSION THEN STATEMENT01 ELSE STATEMENT02 END 当表达式 EXPRES ...

  2. C++环境的配置( windows)

    方法一.——VS: 使用windows开发神器visio studio.这种方法比较简单,直接下载一个最新的vs安装就行.不单单是C++,C.C#.VB等都可以开发. 方法二.——只安装C++编译器: ...

  3. 如何在ORACLE中查询某一用户下所有的空表

    先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一 ...

  4. vue安装搭建

    title: vue安装搭建 date: 2018-04-21 14:00:03 tags: [vue] --- 安装 首先安装nodejs 直接官网下载最新版本http://nodejs.cn/do ...

  5. mvn多环境下的配置

    在应用中,我们经常会遇到本地,测试和生产3种不同的环境,因此需要去配置不同的application. 定义resources: <resources> <resource> & ...

  6. SpringMvc 使用Thumbnails压缩图片

    ```java @PostMapping(value = "/upLoadFile") @ApiOperation(value = "上传文件") public ...

  7. xadmin设置

    1.xadmin配置 INSTALLED_APPS = ( ... 'xadmin' , 'crispy_forms' , 'reversion' , ... ) 2.注册类 import xadmi ...

  8. C程序的编译与链接

    编译器驱动程序 编译器驱动程序可以在用户需要时调用语言预处理器.编译器.汇编器和链接器. 例如使用GNU编译系统,我们需要使用如下命令来调用GCC驱动程序: gcc -o main main.c 编译 ...

  9. C++ is_same

    is_same template< class T, class U > struct is_same; 如果T与U具有同一const-volatile限定的相同类型,则is_same&l ...

  10. python生成器(generator)、迭代器(iterator)、可迭代对象(iterable)区别

    三者联系 迭代器(iterator)是一个更抽象的概念,任何对象,如果它的类有next方法(next python3)和__iter__方法返回自己本身,即为迭代器 通常生成器是通过调用一个或多个yi ...