对于科特林
以下是使用 Kotlin 创建具有相似名称的文件而不覆盖现有文件的代码:
var fileNo = 0
@Throws(IOException::class)
fun createFile(name: String, addedEx: String): File {
val originalName = name.replace(addedEx,"")
val f = File(name)
return if (!f.exists()) {
f
} else {
fileNo++
val file = createFile("${name.substring( 0, originalName.indexOf("."))}_($fileNo).${getExtension(originalName)}","_($fileNo)")
fileNo = 0
file
}
}
addedEx
请记住,当您第一次调用它时,只需在param中传递空字符串。像这样 :createFile(nameTest.txt, addedEx: "")
如果保存此文件 5 次,
输出将是:
名称测试.txt
名称Test_(1).txt
名称Test_(2).txt
名称Test_(3).txt
名称Test_(4).txt
如果你想要扩展获取功能:
fun getExtension(name: String?): String? {
val fileNameFromURL = Uri.parse(name).lastPathSegment
if(fileNameFromURL != null && fileNameFromURL.lastIndexOf('.') >= 0)
{
return fileNameFromURL.substring(fileNameFromURL.lastIndexOf('.')+1)
}
return ""
}