Android how to change name file in device

Viewed 31

I got files in device. And i want when click select one file and rename name file. But after rename, file become have not format file. How to rename file ?

fun renameFile(){
   var file=listDownloadsFile.get(i).file
   var filetwo=File("/storage/emulated/0/Download/",new_name)
var check:Boolean=file.renameTo(filetwo)
                if(check){
                    Log.d("kkdkdk",check.toString())
                }
                else{
                    Log.d("kkdkdk",check.toString())
                }

}
private fun getAllFileInDownload() {
        var listDownloadsFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
            .listFiles()
        for (i in 0 until files.size) {
            listDownloads.add(
                FileData(
                    files[i],
                    false
                )
            )
        }
    } ```
1 Answers

you can try this:

    fun renameFile(){
        var file = listDownloadsFile.get(i).file

        val oldName = file.nameWithoutExtension
        val newPath = file.path.replace(oldName, new_name).trim()
        val filetwo = File(newPath)
        if (filetwo.exists()) {
            //show a message file exited
        } else {
            val check = renameFile(file, filetwo)
            if(check){
                Log.d("kkdkdk",check.toString())
            }
            else{
                Log.d("kkdkdk",check.toString())
            }
        }
    }

    private fun rename(from: File, to: File): Boolean {
        return from.parentFile.exists() && from.exists() && from.renameTo(to)
    }
Related