package Ġnor swap . utils Ċ import Ġjava . io . IOException Ċ import Ġjava . nio . file .* Ċ import Ġjava . nio . file . attribute . Basic File Attributes Ċ Ċ // Ġ------------------------------------------------------------------------------------------------ - Ċ Ċ /** Ċ Ġ* ĠReads Ġa Ġcomplete Ġfile Ġand Ġreturns Ġits Ġcontents Ġas Ġa Ġstring . Ċ Ġ* Ġ@ throws ĠIOException Ġsee Ġ[ Files . read All Bytes ] Ċ Ġ* Ġ@ throws ĠInvalid Path Exception Ġsee Ġ[ Paths . get ] Ċ Ġ*/ Ċ fun Ġread _ file Ġ( file : ĠString ) ĊĠĠĠ Ġ= ĠString ( Files . read All Bytes ( Paths . get ( file ))) Ċ Ċ // Ġ------------------------------------------------------------------------------------------------ - Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġlist Ġof Ġall Ġthe Ġpaths Ġthat Ġmatch Ġthe Ġgiven Ġglob Ġpattern Ġwithin Ġthe Ġgiven Ġdirectory . Ċ Ġ* Ċ Ġ* ĠThe Ġpattern Ġsyntax Ġis Ġdescribed Ġin Ġthe Ġdoc Ġof Ġ[ FileSystem . getPath Matcher ] Ġ-- Ċ Ġ* Ġthe Ġ" glob :" Ġpart Ġshould Ġbe Ġomitted . Ċ Ġ*/ Ċ @ Throws ( IOException :: class ) Ċ fun Ġglob Ġ( pattern : ĠString , Ġdirectory : ĠPath ): ĠList < Path > Ċ { ĊĠĠĠ Ġval Ġmatcher Ġ= ĠFileSystem s . getDefault (). getPath Matcher (" glob :" Ġ+ Ġpattern ) ĊĊĠĠĠ Ġval Ġresult Ġ= ĠArrayList < Path >() ĊĊĠĠĠ ĠFiles . walk File Tree Ġ( directory , Ġobject Ġ: ĠSimple File Visitor < Path >() ĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit File Ġ( file : ĠPath , Ġattrs : ĠBasic File Attributes ): ĠFile Visit Result ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( matcher . matches ( file )) Ġresult . add ( file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFile Visit Result . CONTINUE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit File Failed Ġ( file : ĠPath , Ġexc : ĠIOException ?) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ= ĠFile Visit Result . CONTINUE ĊĠĠĠ Ġ}) ĊĊĠĠĠ Ġreturn Ġresult Ċ } Ċ Ċ // Ġ------------------------------------------------------------------------------------------------ -