Я использую этот Java-код для восстановления базы данных комнаты Android с SD-карты, и она работает:
// Java
public static boolean copyToDirFromMultiFile(File dstDir, boolean
createDirsIfNotExist, File... srcFile) throws IOException {
if (createDirsIfNotExist && !dstDir.exists()) {
if (!dstDir.mkdirs()) return false;
}
for (File src : srcFile) {
File dstFile = new File(dstDir, src.getName());
try (InputStream inputStream = new FileInputStream(src); OutputStream outputStream = new FileOutputStream(dstFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
}
}
return true;
}
И когда я пытался реализовать ее с помощью следующего кода Kotlin
// Kotlin
private fun copyToDirFromMultiFile(dstDir: String, originDir: String, fileName: Array<String>) {
fileName.forEach {
File(originDir).resolve(it).copyTo(File(dstDir).resolve(it), true)
}
}
Файл базы данных скопирован, но мне нужно перезапустить мое приложение , пожалуйста, скажите мне, что я пропустил, Большое спасибо.
Вот документ Iнашли: copyTo