Как добавить номер увеличения к концу дублированного имени файла в Kotlin?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как добавить номер увеличения к концу дублированного имени файла в Kotlin?

Сообщение Anonymous »

Я пытаюсь разработать функцию, которая добавляет номер в конец файла, имеющего то же имя, что и другой файл в Kotlin. Число будет увеличиваться для каждого файла с таким же именем. Это важно, поскольку все файлы с одинаковым именем будут автоматически удалены, за исключением первого с таким именем.
Я разработал функцию, которая частично достигает того, что я хочу, но не делает этого. работать с более чем двумя файлами.
Вот код этой функции

Код: Выделить всё

// In The Main Activity Of A Jetpack Compose Project In Android Studio

// Directory
val directory = File(this.filesDir, "Directory")
directory.mkdir()

// List Of Files In Directory
var fileList by mutableStateOf(directory.listFiles()?.toList() ?: listOf())

// File Name
val fileName = "File Name"

// Number That Goes On The End Of Duplicate Files
val counter by remember{mutableStateOf(1)}

// Function To Create File
fun createFile() {

// Conditional That Adds Number To File Name
val _fileName = "${fileName}${if (directory.any { it.name == fileName }) " ${counter}" else ""}"

// File
val file = File(directory, fileName)

// Recompose File List
fileList = directory.listFiles()?.toList() ?: listOf()
}

// Layout
Column(
modifier.fillMaxSize
) {

// Button To Add File
Button(onClick{ createFile }) { Text(text = "Add File") }

// Displayed List Of Files
fileList.forEach{ file ->

// Displayed File Name
Text(text = file.name)

}
}

Любой файл после второго автоматически удаляется. Как мне это исправить? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ame-in-kot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»