1. ホーム
  2. kotlin

[解決済み] Kotlinのトライウィズリソース

2022-04-24 09:38:10

質問

Java の try -with-resourcesのコードをKotlinで書くと、私にはうまくいきませんでした。

以下のように様々なバリエーションを試してみました。

try (writer = OutputStreamWriter(r.getOutputStream())) {
    // ...
}

しかし、どちらもうまくいきません。

誰か代わりに何を使うべきか知っていますか? どうやらKotlinの文法は には定義がありません。 のような構成がありますが、もしかしたら私が見逃しているのかもしれません。tryブロックの文法は以下のように定義されている。

try : "try" block catchBlock* finallyBlock?;

解決方法は?

あるんです。 use -関数は、kotlin stdlib ( src ).

使い方を説明します。

OutputStreamWriter(r.getOutputStream()).use {
    // by `it` value you can get your OutputStreamWriter
    it.write('a')
}