Do not call mkdirs when destination file of copyTo doesn't have any parent directory.
#KT-7888 Fixed
This commit is contained in:
@@ -218,7 +218,7 @@ public fun File.copyTo(dst: File, overwrite: Boolean = false, bufferSize: Int =
|
||||
return copyTo(dst.resolve(name), overwrite, bufferSize)
|
||||
}
|
||||
}
|
||||
dst.getParentFile().mkdirs()
|
||||
dst.getParentFile()?.mkdirs()
|
||||
dst.delete()
|
||||
val input = FileInputStream(this)
|
||||
return input.use<FileInputStream, Long> {
|
||||
|
||||
@@ -780,6 +780,26 @@ class FilesTest {
|
||||
srcFile.delete()
|
||||
}
|
||||
|
||||
test fun copyToNameWithoutParent() {
|
||||
val currentDir = File("").getAbsoluteFile()!!
|
||||
val srcFile = createTempFile()
|
||||
val dstFile = createTempFile(directory = currentDir)
|
||||
try {
|
||||
srcFile.writeText("Hello, World!", "UTF8")
|
||||
dstFile.delete()
|
||||
|
||||
val dstRelative = File(dstFile.name)
|
||||
|
||||
srcFile.copyTo(dstRelative)
|
||||
|
||||
assertEquals(srcFile.readText(), dstFile.readText())
|
||||
}
|
||||
finally {
|
||||
dstFile.delete()
|
||||
srcFile.delete()
|
||||
}
|
||||
}
|
||||
|
||||
test fun deleteRecursively() {
|
||||
val dir = createTempDir()
|
||||
dir.delete()
|
||||
|
||||
Reference in New Issue
Block a user