[英]Creating directories within Android internal storage
在 Android 內部存儲中創建並列出目錄時,我遇到了一些問題。
這是我在我的應用程序中執行的 kotlin 代碼:
var dirStatus = applicationContext.getDir("One", MODE_PRIVATE)
println("dirStatus = "+dirStatus)
dirStatus = applicationContext.getDir("Two", MODE_PRIVATE)
println("dirStatus = "+dirStatus)
dirStatus = applicationContext.getDir("Three", MODE_PRIVATE)
println("dirStatus = "+dirStatus)
這是執行上述代碼后我在控制台中看到的內容:
I/System.out: dirStatus = /data/user/0/me.soft.myapp/app_One
I/System.out: dirStatus = /data/user/0/me.soft.myapp/app_Two
I/System.out: dirStatus = /data/user/0/me.soft.myapp/app_Three
D/HwAppInnerBoostImpl: asyncReportData me.soft.myapp,2,1,1,0 interval=249
I/software.crayo: Starting profile saver IsSaveProfileNow end.
現在這是我的問題,假設剛剛創建了三個空目錄(一、二、三)。 允許我列出這三個目錄的代碼是什么?
如果我問這是因為我希望完成這項工作的下面的代碼不起作用:
val directory:File
directory = getFilesDir()
val files: Array<File> = directory.listFiles()
println("Files count: "+files.size)
for (f in files) {
println("Name:"+f.name)
}
public abstract File getFilesDir()
表示/data/user/0/xxx/files
不是/data/user/0/xxx/
val a = applicationContext.getDir("aaaa", Context.MODE_PRIVATE)
applicationContext.getDir("bbbb", Context.MODE_PRIVATE)
applicationContext.getDir("cccc", Context.MODE_PRIVATE)
// print nothing
applicationContext.filesDir.listFiles()?.forEach { file ->
Log.d("MainActivity", "file path: ${file.absolutePath}")
}
// print a parent directory
a.parentFile?.listFiles()?.forEach { file ->
Log.d("MainActivity", "file path: ${file.absolutePath}")
}
我不確定,但它可能對你有幫助。
val myFile = File(path)
val files: Array<File> = myFile.listFiles()
for (f in files) {
if (f.isDirectory) {
// Do your stuff
Log.e("TAG", "onCreate : "+ f.name )
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.