Tôi có một CSV
tệp 35GB . Tôi muốn đọc từng dòng và viết dòng đó ra một CSV mới nếu nó phù hợp với một điều kiện.
try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) {
try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) {
br.lines().parallel()
.filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world
.forEach(line -> {
writer.write(line + "\n");
});
}
}
Điều này mất khoảng. 7 phút. Có thể tăng tốc quá trình đó hơn nữa?
parallel
làm cho nó nhanh hơn? Và không phải điều đó xáo trộn các dòng xung quanh?