Я новичок в Kotlin и пытаюсь выполнить простую задачу - создать и записать в файл.По какой-то причине использование use()
с функцией блокировки на printWriter()
фактически не записывает.
File("test2.txt").printWriter().use { out ->
{
println("hmmm")
out.println("what's up")
log.info { "finished writing" }
}
}
На самом деле, функция блокировки, кажется, вообще не вызывается - оба "хммм""и" законченная запись "никогда не отображаются, хотя сам файл создан (но совершенно пустой).
Гораздо проще writeText()
работает просто отлично - файл создан, и данный текст записан вфайл.
File("test3.txt").writeText("testing")
Что я делаю неправильно в моей use()
версии?
Редактировать : похоже, это проблема синтаксиса с моей функцией блокировки.Похоже, у меня есть лишняя пара скобок?Хотелось бы получить краткое объяснение того, почему это не работает.
Редактировать 2 : Думаю, теперь я понимаю.Так, как я написал, я по сути возвращал саму функцию блока, а не проходил через нее.