Skip to content

File Management

/storage/emulated/0/Android/data/your.package.name/files/

  • Big File (No Limited Space & Required permission)
context.getExternalFilesDir(null) // use this to access External dir

/data/user/0/your.package.name/files/

  • Small File (Limited Space & No permission require)
context.filesDir // use this to access Internal dir

Use the Device Explorer in Android Studio to review/edit all files inside the Android emulator

null means get the root dir path

context.getExternalFilesDir(null)

Get public view asset folders (e.g., Download Folder)

Section titled “Get public view asset folders (e.g., Download Folder)”
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
var myFile = File(context.getExternalFilesDir(null), "ocean.mp3")
myFile.exists()
val customDir = File(context.getExternalFilesDir(null), "customFolder")
if (!customDir.exists()) {
customDir.mkdir()
}
fun getFiles(context: Context): List<File> {
val dir = context.getExternalFilesDir(null)
return dir?.listFiles()?.toList() ?: emptyList()
}
withContext(Dispatchers.IO) {
val file = File(context.getExternalFilesDir(null), "hello.json")
FileWriter(file).use { writer ->
writer.write(Gson().toJson(api))
}
}
File(context.getExternalFilesDir(null), "customFolder")
.outputStream().use { output ->
<Your-InputStream>.copyTo(output)
}
val oldFile = File(context.getExternalFilesDir(null), "ocean.mp3")
val newFile = File(context.getExternalFilesDir(null), "new_ocean.mp3")
oldFile.renameTo(newFile)
File(context.getExternalFilesDir(null), "customFolder").delete()
File(context.getExternalFilesDir(null), "ocean.mp3").toUri()