package Ġdev . re imer . kotlin . jvm . k tx Ċ Ċ import Ġjava . io . Buffered Writer Ċ import Ġjava . io . File Ċ import Ġjava . nio . charset . Charset Ċ Ċ fun Ġ< R > Ġuse TempFile ( ĊĠĠĠ Ġprefix : ĠString Ġ= Ġ" tmp ", ĊĠĠĠ Ġsuffix : ĠString ? Ġ= Ġnull , ĊĠĠĠ Ġdirectory : ĠFile ? Ġ= Ġnull , ĊĠĠĠ Ġblock : Ġ( File ) Ġ-> ĠR Ċ ): ĠR Ġ= Ġcreate TempFile ( prefix , Ġsuffix , Ġdirectory ). let Ġ{ Ġmodel Ġ-> ĊĠĠĠ Ġval Ġresult Ġ= Ġblock ( model ) ĊĠĠĠ Ġmodel . delete () ĊĠĠĠ Ġresult Ċ } Ċ Ċ fun ĠSequence < String >. write Lines To ( buffered Writer : ĠBuffered Writer ) Ġ{ ĊĠĠĠ Ġbuffered Writer . use Ġ{ Ġwriter Ġ-> ĊĠĠĠĠĠĠĠ ĠforEach Ġ{ Ġline Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . write ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . new Line () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠSequence < String >. write Lines To ( file : ĠFile , Ġcharset : ĠCharset Ġ= ĠChar sets . UTF _ 8 ) Ġ= ĊĠĠĠ Ġwrite Lines To ( file . buffered Writer ( charset )) Ċ Ċ fun ĠFile . prepare New File () Ġ{ ĊĠĠĠ Ġparent File . mkdir s () ĊĠĠĠ Ġdelete () ĊĠĠĠ Ġcreate New File () Ċ } Ċ Ċ val ĠFile . total Lines ĊĠĠĠ Ġget () Ġ= ĊĠĠĠĠĠĠĠ Ġuse Lines Ġ{ Ġlines Ġ-> Ġlines . count () Ġ}