Android开发 外部存储空间

文章详细介绍了Android系统中存储空间的划分,包括内部存储和外部存储(SD卡)的私有与公共空间。当APP卸载时,私有存储空间的文件会被清除,而公共空间的文件保留。内容还涵盖了如何在不同存储区域读写文本文件及图片,涉及APP权限设置,以及使用文件流进行读写操作的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存储空间

对Andriod来说,存储空间分为内部存储空间和外部存储空间。

外部存储空间也就是常说的SD卡,可以分为私有存储空间和公共存储空间。

内部存储空间和外部存储空间的私有存储空间,都是每个APP独有的,不允许其他APP访问。

公共存储空间则是所有APP都可以访问,空间也更大,可以用于存储一些大的音频文件。

那么很自然地可以得出,当APP卸载后,内部存储空间和外部存储空间的私有存储空间的文件都被清空了,但公共存储空间的文件不会被删除。

二、在Andriod中存储文本文件

在这三个空间存储,需要获得不同的路径:

//外部存储私有空间
dir = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString();
//外部存储公共空间
dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString();
//内部存储空间
dir = getFilesDir().toString();

其中读写外部存储公共空间时,需要修改APP权限:

 

完整代码:

package com.example.study06;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Environment;
import android.util.Log;

import com.example.study06.util.FileUtil;

import java.io.File;
import java.io.IOException;

public class FileWriteActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_file_write);

        writeFile();
        //readFile();
    }

    

    protected void writeFile(){
        String text = "text for inner";
        String path = n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值