package Ġcom . ner dsc or ner . mvp . utils Ċ Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . File Ċ import Ġjava . io . FileWriter Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . InputStream Reader Ċ Ċ object ĠFile Creator Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠPACK AGE _ NAME _ KEY Ġ= Ġ"\ $ PACKAGE _ NAME $" ĊĠĠĠ Ġprivate Ġconst Ġval ĠSCREEN _ NAME _ KEY Ġ= Ġ"\ $ SCREEN _ NAME $" ĊĠĠĠ Ġprivate Ġconst Ġval ĠLAY OUT _ NAME _ KEY Ġ= Ġ"\ $ LAYOUT _ NAME $" ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġfun Ġcreate File ( inputStream : ĠInputStream , Ġfile : ĠFile , Ġbase Package : ĠString , Ġscreen Name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( file . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIOException (" File Ġ${ file . name } Ġalready Ġexist ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġreader Ġ= ĠBufferedReader ( InputStream Reader ( inputStream )) ĊĠĠĠĠĠĠĠ Ġval Ġbase Component Content Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġfor Ġ( line Ġin Ġreader . lines ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbase Component Content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( line ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( System . line Separator ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Parameters Ġre placer ĊĠĠĠĠĠĠĠ Ġval Ġparsed Content Ġ= Ġbase Component Content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( PACKAGE _ NAME _ KEY , Ġbase Package ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( SCREEN _ NAME _ KEY , Ġscreen Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( LAYOUT _ NAME _ KEY , ĠStringUtils . replace Camel Case With Snake Case ( screen Name )) ĊĊĠĠĠĠĠĠĠ Ġfile . parent File . mkdir s () ĊĠĠĠĠĠĠĠ ĠFile Writer ( file ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite ( parsed Content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ