在我的 Android 應用程式中,我有一種機制,我可以下載許多小部分的檔案,然后將它們合并為一個。所以現在我已經下載了存盤在檔案夾 Download/file_name 下的 LocalStorage 中的部分。所以該檔案夾有內部(假設)30個檔案,這些檔案由它們創建為段的序列命名(1,2,4,6,3,10,15,7,9,12,8....30)
我想合并這些檔案并將它們附加到一個檔案中,我想按正確的順序撰寫它們。先是 1,后是 2,后是 3,以此類推……
是否有一個優雅的 Kotlin 擴展函式可以完成這樣的作業?
uj5u.com熱心網友回復:
我不認為這完全存在于標準庫中。你可以使用這樣的東西:
fun File.appendAll(bufferSize: Int = 4096, vararg files: File) {
if (!exists()) {
throw NoSuchFileException(this, null, "File doesn't exist.")
}
require(!isDirectory) { "The file is a directory." }
FileOutputStream(this, true).use { output ->
for (file in files) {
if (file.isDirectory || !file.exists()) {
continue // Might want to log or throw
}
file.forEachBlock(bufferSize) { buffer, bytesRead -> output.write(buffer, 0, bytesRead) }
}
}
}
首先,您需要創建一個空檔案,并將所有這些其他檔案附加到其中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/411494.html
標籤:
