package Ġmysql . config Ċ Ċ import Ġjava . io . File Ċ import Ġjava . io . FileInputStream Ċ import Ġjava . io . File OutputStream Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . OutputStream Ċ Ċ type alias ĠGroup Name Ġ= ĠString Ċ type alias ĠOper ater Ġ= ĠMap < String , ĠString > Ċ Ċ internal Ġfun Ġget Group ( str : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠRegex (""" ^\ [( .* )\ ]$ "" "). match Ent ire ( str ) !!. group Values . last () Ċ } Ċ Ċ internal Ġfun Ġget Opt ( str : ĠString ): ĠPair < String , ĠString > Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Opt Ġ= ĠRegex (""" ^ (.* ) =( .* )$ "" "). match Ent ire ( str ) !!. group Values ĊĠĠĠĠĠĠĠ Ġmap Opt [ map Opt . size Ġ- Ġ 2 ]. trim () Ġto Ġmap Opt . last (). trim () ĊĠĠĠ Ġ} Ġcatch Ġ( ex : Ġkotlin . Kotlin NullPointerException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstr Ġto Ġ"" ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġcopy File Using Stream ( source : ĠFile , Ġdest : ĠFile ) Ġ{ ĊĠĠĠ Ġvar Ġ` is `: ĠInputStream ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġos : ĠOutputStream ? Ġ= Ġnull ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġ` is ` Ġ= ĠFileInputStream ( source ) ĊĠĠĠĠĠĠĠ Ġos Ġ= ĠFileOutputStream ( dest ) ĊĠĠĠĠĠĠĠ Ġval Ġbuffer Ġ= ĠByteArray ( 1 0 2 4 ) ĊĠĠĠĠĠĠĠ Ġvar Ġlength : ĠInt ĊĠĠĠĠĠĠĠ Ġlength Ġ= Ġ` is `. read ( buffer ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġos . write ( buffer , Ġ 0 , Ġlength ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlength Ġ= Ġ` is `. read ( buffer ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ Ġ` is ` !!. close () ĊĠĠĠĠĠĠĠ Ġos !!. close () ĊĠĠĠ Ġ} Ċ } Ċ