কম্পিউটার টিউটোরিয়াল

জাভাতে দুটি বা অধিক ফাইল অল্টারনেটিভলি মার্জ করে থার্ড ফাইলে লেখা

ধরুন তিনটি ফাইল আছে:

output1.txt

Hello how are you

output2.txt

Welcome to Tutorialspoint

output3.txt

We provide simply easy learning

উদাহরণ ১

নিচের জাভা উদাহরণ উপরের তিনটি ফাইলের কন্টেন্ট অল্টারনেটিভলি একটি সিঙ্গেল ফাইলে মার্জ করে।

import java.util.Scanner; 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 

public class MergingFiles { 
    public static void main(String args[]) throws IOException { 
        Scanner sc1 = new Scanner(new File("D://input1.txt")); 
        Scanner sc2 = new Scanner(new File("D://input2.txt")); 
        Scanner sc3 = new Scanner(new File("D://input3.txt")); 
        FileWriter writer = new FileWriter("D://result.txt"); 
        String str[] = new String[3]; 
        while (sc1.hasNextLine() || sc2.hasNextLine() || sc3.hasNextLine()) { 
            str[0] = sc1.hasNextLine() ? sc1.nextLine() : ""; 
            str[1] = sc2.hasNextLine() ? sc2.nextLine() : ""; 
            str[2] = sc3.hasNextLine() ? sc3.nextLine() : ""; 
            writer.append(str[0] + "\n"); 
            writer.append(str[1] + "\n"); 
            writer.append(str[2] + "\n"); 
        } 
        writer.flush(); 
        System.out.println("Contents added"); 
    } 
}

নোট: মূল কোডে লুপের ভেতরে writer.append ছিল না, যা বাগ। উপরের কোডে ফিক্স করা হয়েছে।

উদাহরণ ২: একই ডিরেক্টরির সব ফাইল মার্জ করা

import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.Scanner; 

public class MergingFiles { 
    public static void main(String args[]) throws IOException { 
        File directoryPath = new File("D:\\example"); 
        File filesList[] = directoryPath.listFiles(); 
        Scanner sc = null; 
        FileWriter writer = new FileWriter("D://output.txt"); 
        for (File file : filesList) { 
            if (file.isFile()) { 
                sc = new Scanner(file); 
                while (sc.hasNextLine()) { 
                    String input = sc.nextLine(); 
                    writer.append(input + "\n"); 
                } 
                writer.flush(); 
            } 
        } 
        System.out.println("Contents added"); 
    } 
}

আউটপুট

Contents added

সারসংক্ষেপ: প্রথম উদাহরণে তিনটি ফাইলের লাইন বাই লাইন অল্টারনেট করা হয়েছে। দ্বিতীয় উদাহরণে একই ডিরেক্টরির সব ফাইল সিকোয়েনশিয়ালি মার্জ করা হয়েছে। FileWriter এবং Scanner ব্যবহার করা হয়েছে।

  1. একাধিক অডিও ফাইলকে একসাথে মিশানোর পদ্ধতি

  2. জাভাতে ডিরেক্টরির সব ফাইল রিকার্সিভলি ডিলিট করা (শুধু ফাইল)

  3. জাভাতে ডিরেক্টরির সব ফাইল রিকার্সিভলি লিস্ট করা

  4. একাধিক PDF ফাইল সহজে এক ডকুমেন্টে মর্জ করুন