try (Stream<String> lines = Files.lines(targetFile)) {
List<String> replacedContent = lines.map(line ->
StringUtils.replaceEach(line,keys, values))
.parallel()
.collect(Collectors.toList());
Files.write(targetFile, replacedContent);
}
Sto provando a sostituire più schemi di testo in ogni riga del file. Ma sto osservando che "\ r \ n" (byte equivalente 10 e 13) viene sostituito con solo "\ r" (solo 10) e i miei test di comparazione stanno fallendo.Come conservare la nuova riga durante la lettura di un file utilizzando lo stream - java 8
Voglio conservare le nuove righe come sono nel file di input e non voglio che java li tocchi. Qualcuno potrebbe suggerire se c'è un modo per farlo senza dover utilizzare una sostituzione predefinita separata per "\ r \ n".
Ci scusiamo per manca quella. Appena aggiunto. – AshwiniR
Appena rimosso il replaceEach per isolare il problema e il suo Files.line() che sembra fare questo. – AshwiniR
Dove sta succedendo la sostituzione? Il codice incollato ha creato un elenco di stringhe, non ha alcun carattere di nuova riga. – mks