java8追加⽂字到⽂件_使⽤Stream-Java8替换⽂件中的⽂本我正在尝试编写⼀个API,⽤⽂本⽂件中的不同字符串替换包含某个⼦字符串的所有⾏.
我正在使⽤Java 8流来过滤包含给定模式的⾏.我有⽂件写⼊部分的问题.
Files.lines(targetFile).filter(line -> ains(plainTextPattern)).parallel()
.map(line-> placeAll(plainTextPattern, replaceWith)).parallel();
上⾯的代码按⾏读取⽂件,过滤与模式匹配的⾏并替换为give字符串,并返回仅包含替换⾏的字符串流.
我们需要将这些⾏写回⽂件.由于我们在管道结束后丢失了流,因此我将以下内容添加到管道中:
.forEach(line -> {
try {
Files.write(targetFile, String().getBytes());java stream
} catch (IOException e) {
e.printStackTrace();
}
我希望它只会写⼊修改后的⽂件(因为它在管道中),并保持其他⾏不变.
但它似乎截断⽂件中每⼀⾏的⽂件,并仅保留最后⼀个处理的⾏并删除管道中未匹配的所有⾏.
有没有我在使⽤流处理⽂件时缺少的东西?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论