Android는 외부 저장소를 두 영역으로 나눕니다. 하나는 모든 애플리케이션에 액세스할 수 있는 공용 공간이고 다른 하나는 애플리케이션 자체에서만 액세스할 수 있는 개인 공간입니다.
2022-08-24 19:06:50.956 13706-13706/com.qidian.chapter06 D/guo: /storage/emulated/0/Android/data/com.qidian.chapter06/files/Download/1661339210922.txt
외부 저장소의 공용 공간에 권한을 추가해야 합니다.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
Android 10은 <application> 태그도 추가해야 합니다.
android:requestLegacyExternalStorage="true"
// 外部存储的私有空间(APP卸载文件会被清除,百度网盘下载应放在此处最为合适)
String dir = null;
String fileName = System.currentTimeMillis() + ".txt";
dir = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS).toString();
// 外部存储的公共空间(APP卸载文件不会被清除)
dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString();
// 内部存储私有空间
dir = getFilesDir().toString();
path = dir + File.separatorChar + fileName;
FileUtil.saveText(path,sb.toString());