আমার কাছে 35 জিবি CSV
ফাইল রয়েছে। আমি প্রতিটি লাইনটি পড়তে চাই এবং লাইনটি একটি নতুন সিএসভিতে লিখতে চাই যদি এটি কোনও শর্তের সাথে মেলে।
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");
});
}
}
এটি প্রায় লাগে। 7 মিনিট। এই প্রক্রিয়াটি আরও বেশি বাড়ানো কি সম্ভব?
parallel
এটি দ্রুততর করে তোলে? এবং যে চারপাশে লাইন পরিবর্তন না?
BufferedWriter
এমন কনস্ট্রাক্টর ব্যবহার করে নিজেকে তৈরি করুন । সম্ভবত একটি বড় (বা আরও ছোট) বাফার আকারটি একটি পার্থক্য আনবে। আমি BufferedWriter
বাফার আকারটি হোস্ট অপারেটিং সিস্টেম বাফার আকারের সাথে মিলিয়ে দেখার চেষ্টা করব ।