一、存储空间
对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