package Ġcom . github . sz y mon 2 6 0 3 . fixed length record sed itor . record sed itor . services Ċ Ċ import Ġcom . github . sz y mon 2 6 0 3 . fixed length record sed itor . record sed itor . model . Record Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ class ĠRecords Writer Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Records Reader :: class . java ) ĊĊĠĠĠ Ġfun Ġwrite Records ( psi File : ĠPsi File , Ġrecords : ĠList < Record >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfile Ġ= Ġpsi File . virtual File ĊĠĠĠĠĠĠĠ Ġlog . debug (" Writing Ġrecords Ġto Ġfile Ġ${ file . path }") ĊĠĠĠĠĠĠĠ Ġval Ġseparator Ġ= Ġfile . detected Line Separator Ġ?: ĠSystem . line Separator () ĊĠĠĠĠĠĠĠ Ġlog . debug (" Line Ġseparator Ġ${ encode Line Separator ( separator )} ") ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġrecords . join ToString ( separator Ġ= Ġseparator , Ġpostfix Ġ= Ġseparator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . convert ToString () ĊĠĠĠĠĠĠĠ Ġ}. toByteArray () ĊĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). run Write Action () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfile . set Binary Content ( content ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġencode Line Separator ( separator : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( separator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " Ġ-> Ġ" LF " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ r \ n " Ġ-> Ġ" CRL F " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ r " Ġ-> Ġ" CR " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" Unknown Ġseparator Ġ[$ separator ]" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ