我正在使用此 Java代码从SD卡还原android会议室数据库,并且有效:
// 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)
}
}
数据库文件已复制,但是我必须重新启动我的应用程序,请告诉我我错过的事情,非常感谢。
这是我找到的文档: copyTo