簡體   English   中英

在 Android 內部存儲中創建目錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM