Malheureusement, kotlin n'a pas lui-même d'essayer avec des ressources. Au lieu de cela, il y a ʻuse` comme fonction équivalente (à proprement parler, fonction d'extension: fonction d'extension).
java
try (OutputStream ost = Files.newOutputStream(path)) {
FileCopyUtils.copy(inst, ost);
} catch (Exception e) {
e.printStackTrace();
}
C'est ↓
kotlin
try {
Files.newOutputStream(path).use { ost ->
FileCopyUtils.copy(inst, ost)
}
} catch (e: Exception) {
e.printStackTrace()
}
Ce sera comme ça.
Personnellement, si le contenu de ʻuse est une ligne, il est souvent écrit sans sauts de ligne comme
Files.newOutputStream (chemin) .use {ost-> FileCopyUtils.copy (inst, ost)} `.
J'aime kotlin car il peut être écrit plus clairement que java.
Si vous souhaitez utiliser plusieurs ressources, vous pouvez chaîner ʻuse`.
kotlin
try {
Files.newOutputStream(path).use { ost ->
Files.newInputStream(path).use { inst ->
FileCopyUtils.copy(inst, ost)
}
}
} catch (e: Exception) {
e.printStackTrace()
}
Si vous enchaînez trop, le nid sera plus profond.
Recommended Posts