Articles of try with resources

Мое собственное решение для отсутствия пробных ресурсов Котлина

Kotlin предоставляет функцию use для объектов Closeable , но, похоже, они забыли рассмотреть AutoCloseable (например, подготовленные БД операторы) для полного Java-эквивалента try-with-resources. Я реализовал следующее «самодельное» решение: inline fun <T:AutoCloseable,R> trywr(closeable: T, block: (T) -> R): R { try { return block(closeable); } finally { closeable.close() } } Затем вы можете использовать его следующим образом: […]

try-with-resources: функция «использовать» в Kotlin не всегда работает

У меня возникли проблемы с выражением конструкции try-with-resources Java в Котлине. По моему AutoClosable , каждое выражение, являющееся экземпляром AutoClosable должно обеспечивать функцию расширения use . Вот полный пример: import java.io.BufferedReader; import java.io.FileReader; import org.openrdf.query.TupleQuery; import org.openrdf.query.TupleQueryResult; public class Test { static String foo(String path) throws Throwable { try (BufferedReader r = new BufferedReader(new FileReader(path))) […]

Попытка использования ресурсов в Котлине

Когда я попытался написать эквивалент кода try-with-resources в Котлине, это не сработало для меня. Я пробовал разные варианты: try (writer = OutputStreamWriter(r.getOutputStream())) { // … } Но никто не работает. Кто-нибудь знает, что следует использовать вместо этого? По-видимому, грамматика Котлина не имеет определения для такой конструкции, но может быть, я чего-то не хватает. Он определяет […]