关于文件存储位置记录

关于文件存储

// 今天存储文件时,对文件路径不是很熟悉,查了资料记录一下

我们在编程时,需要对一些数据进行存储,那么就有对数据存储为文件的需求,从而就需要知道文件存储的路径;一般存储路径分为:外部存储和内部存储他们两的路径不同,获取的方法也就不同。

  • 首先先明白他们两的区别:
    内部存储:
    内部存储是手机系统自带的存储,一般空间都比较小,如果手机没有root是看不见他们存储的位置的,所以内部存储一般存的比较隐私的数据
    外部存储:
    外部存储一般是SD卡的存储,空间一般都比较大,外部存储又分为两部分:
    公有目录和私有目录
    公有目录:
    公有目录有九大类,比如DCIM、DOWNLOAD等这种系统为我们创建的文件夹
    私有目录:
    私有目录就是Android这个文件夹,里面有个data文件夹,我的理解就是我们app所私有的存储位置,区别于上面公有的存储,删除了我们的app之后,私有目录下关于我们app存储的文件内容也一并删除,而公共目录中的数据则不会,可继续供其他app调用,所以我们存东西的时候,最好存到私有目录中!
  • 如何区分两者呢?可根据路径区分
    内部存储:data/data/包名/…
    外部存储:/storage/emulated/0/Android/data/…
  • 如何获取内部存储和外部存储的路径呢?
    内部存储:
    应用文件目录:Context.getFilesDir()获取
    应用缓存目录:Context.getCacheDir()获取
    外部存储:
    私有目录
    应用文件目录:Context.getExternalFilesDir(String type)获取
    应用缓存目录:Context.getExternalCacheDir()获取
    Context.getExternalFilesDir(String type)中的type,系统给我们提供了很多常用类型:
public static String DIRECTORY_MUSIC = "Music";
public static String DIRECTORY_ALARMS = "Alarms";
public static String DIRECTORY_NOTIFICATIONS = "Notifications";
public static String DIRECTORY_PICTURES = "Pictures";
public static String DIRECTORY_MOVIES = "Movies";
public static String DIRECTORY_DOWNLOADS = "Download";
public static String DIRECTORY_DCIM = "DCIM";
public static String DIRECTORY_DOCUMENTS = "Documents";

公有目录:

Environment.getExternalStorageDirectory(): 

注意:

  • 安卓6(API23)及以上得申请运行时权限
  • 现在好像高版本的安卓将文件存储在公有目录下会报错,存在私有目录下就没问题,具体什么原因还不是很清楚,需要查验
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值