Android外部存储external storage和内部存储internal storage

本文详细介绍了Android应用的内部存储和外部存储的使用。内部存储的文件与应用关联,卸载应用时会被删除,适用于保护隐私的数据。外部存储可供所有应用访问,适合共享文件,但在用户卸载应用时,仅删除特定目录的文件。同时讨论了外部存储的状态检查及不同类型的外部存储,如私有和公共存储,并提供了相应的API用法示例。
摘要由CSDN通过智能技术生成

外部存储external storage和内部存储internal storage

1.内部存储:
内部存储位于系统中很特殊的一个位置,如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。

getFilesDir()获取你app的内部存储空间,相当于你的应用在内部存储上的根目录。

内部存储总是可用的

这里的文件默认是只能被你的app所访问的。
当用户卸载你的app的时候,系统会把internal里面的相关文件都清除干净。
Internal是在你想确保不被用户与其他app所访问的最佳存储区域。如果是要创建一个文件,如下

1
File file = newFile(context.getFilesDir(), filename);
安卓还为我们提供了一个简便方法 openFileOutput()来读写应用在内部存储空间上的文件;Context.fileList();列出所有的已创建的文件

Context.deleteFile(filename)删除文件;Context.getDir(dirName, Context.MODE_PRIVATE);创建一个目录,需要传入目录名称;

一.保存到内部存储的方式
1.getFileDir() 通过此方法可以获取到你的APP内部存储的文件,路径为/data/data/pacgage_name/files

我们直接上代码进行测试:
  File file1 = new File(getFilesDir(), "getFilesDir.txt");

try {
    OutputStream outputStream1 = new FileOutputStream(file1);
    outputStream1.write("file".getBytes());
    outputStream1.close();
} catch (Exception e) {
    e.printStackTrace();
}

运行结果:

2021-01-22 14:06:23.495 3698-3698/com.example.file I/file: onCreate:
/data/user/0/com.example.file/files/getFilesDir.txt

 2.getCacheDir() 通过此方法可以获取到你的APP内部存储的文件,路径为/data/data/package_name/cache
测试代码:
File file2 = new File(getCacheDir(), "cache.txt");  
        Log.d("TAG", "file2=" + file2.getAbsolutePath());  
        try {
     
            OutputStream outputStream1 = new FileOutputStream(file2);  
            outputStream1.write("cache"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值