Java তে ফাইল রিডিং এবং ফাইল রাইটিং বা ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা খুবই গুরুত্বপূর্ণ এবং বহুল ব্যবহৃত অপারেশন। Java-তে এই কাজের জন্য java.io প্যাকেজে বিভিন্ন ক্লাস এবং মেথড উপলব্ধ রয়েছে, যা ফাইল পরিচালনা সহজ করে তোলে।
ফাইল রিডিং (File Reading)
Java তে ফাইল রিডিং করতে FileReader, BufferedReader, Scanner ইত্যাদি ক্লাস ব্যবহার করা হয়।
উদাহরণ: FileReader এবং BufferedReader ব্যবহার করে ফাইল রিডিং
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadingExample {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.out.println("Error reading file: " + e.getMessage());
}
}
}
ব্যাখ্যা:
FileReaderদিয়ে ফাইল খোলা হয়েছে এবংBufferedReaderএর মাধ্যমে ফাইলের প্রতিটি লাইন পড়া হয়েছে।readLine()মেথড প্রতিবার একটি করে লাইন পড়ে এবংnullরিটার্ন করলে লুপ শেষ হয়।
উদাহরণ: Scanner ব্যবহার করে ফাইল রিডিং
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class FileReadingWithScanner {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (Scanner scanner = new Scanner(new File(filePath))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("File not found: " + e.getMessage());
}
}
}
ব্যাখ্যা:
Scannerক্লাস ব্যবহার করে ফাইল থেকে প্রতিটি লাইন পড়া হয়েছে।hasNextLine()মেথড চেক করে লাইন আছে কি না, এবংnextLine()মেথডে লাইনটি রিটার্ন করে।
ফাইল রাইটিং (File Writing)
Java তে ফাইল রাইটিং করতে FileWriter, BufferedWriter, এবং PrintWriter ক্লাস ব্যবহার করা হয়।
উদাহরণ: FileWriter ব্যবহার করে ফাইল রাইটিং
import java.io.FileWriter;
import java.io.IOException;
public class FileWritingExample {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (FileWriter writer = new FileWriter(filePath)) {
writer.write("Hello, World!\n");
writer.write("Java File Writing Example.");
System.out.println("Data written to file.");
} catch (IOException e) {
System.out.println("Error writing to file: " + e.getMessage());
}
}
}
ব্যাখ্যা:
FileWriterদিয়ে ফাইল খোলা হয়েছে এবংwrite()মেথড ব্যবহার করে ফাইলে ডেটা লেখা হয়েছে।try-with-resourcesব্লক ব্যবহৃত হওয়ায়FileWriterনিজে থেকেই বন্ধ হয়ে যাবে।
উদাহরণ: BufferedWriter ব্যবহার করে ফাইল রাইটিং
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class BufferedWriterExample {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filePath))) {
writer.write("Hello, World!");
writer.newLine(); // নতুন লাইন
writer.write("This is an example of file writing with BufferedWriter.");
System.out.println("Data written to file with BufferedWriter.");
} catch (IOException e) {
System.out.println("Error writing to file: " + e.getMessage());
}
}
}
ব্যাখ্যা:
BufferedWriterব্যবহার করে ফাইলে ডেটা লেখা হয়েছে এবংnewLine()মেথড দিয়ে নতুন লাইন তৈরি করা হয়েছে।BufferedWriterFileWriterএর উপরে একটি বাফার প্রদান করে, যা লেখার পারফরম্যান্স উন্নত করে।
উদাহরণ: PrintWriter ব্যবহার করে ফাইল রাইটিং
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class PrintWriterExample {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath))) {
writer.println("Hello, World!");
writer.println("This is an example of file writing with PrintWriter.");
System.out.println("Data written to file with PrintWriter.");
} catch (IOException e) {
System.out.println("Error writing to file: " + e.getMessage());
}
}
}
ব্যাখ্যা:
PrintWriterব্যবহার করে ফাইলে ডেটা লেখা হয়েছে, এবংprintln()মেথড ব্যবহার করে সহজে নতুন লাইন তৈরি করা হয়েছে।PrintWriterবিভিন্ন ধরনের ডেটা সহজে ফাইলে লেখার জন্য আদর্শ।
ফাইল অ্যাপেন্ড করা
ফাইল অ্যাপেন্ড করতে FileWriter এর দ্বিতীয় প্যারামিটার true সেট করা হয়, যাতে নতুন ডেটা পুরনো ডেটার শেষে যোগ হয়।
import java.io.FileWriter;
import java.io.IOException;
public class FileAppendExample {
public static void main(String[] args) {
String filePath = "example.txt"; // ফাইলের পথ
try (FileWriter writer = new FileWriter(filePath, true)) {
writer.write("\nAppending new data to the file.");
System.out.println("Data appended to file.");
} catch (IOException e) {
System.out.println("Error appending to file: " + e.getMessage());
}
}
}
ব্যাখ্যা:
new FileWriter(filePath, true)ব্যবহার করা হয়েছে, যা ফাইলে নতুন ডেটা যোগ করে এবং পূর্বের ডেটা বজায় রাখে।
ফাইল রিডিং ও রাইটিং সংক্ষেপে
| ক্লাস | কাজ | ব্যবহারের ধরন |
|---|---|---|
FileReader | ফাইল থেকে ডেটা পড়া | শুধুমাত্র রিডিং |
BufferedReader | ফাইলের ডেটা দ্রুত পড়া | লাইন ভিত্তিক রিডিং |
Scanner | ফাইল থেকে ডেটা রিডিং | টোকেন বা লাইন রিডিং |
FileWriter | ফাইলে ডেটা লেখা | সাধারণ রাইটিং |
BufferedWriter | দ্রুত ফাইল লেখা | বাফার ভিত্তিক রাইটিং |
PrintWriter | ফাইল লেখা সহজ করে | println ও printf দিয়ে লেখা |
সারসংক্ষেপ
- ফাইল রিডিং:
FileReader,BufferedReader, এবংScannerদিয়ে ফাইল থেকে ডেটা পড়া হয়। - ফাইল রাইটিং:
FileWriter,BufferedWriter, এবংPrintWriterদিয়ে ফাইলে ডেটা লেখা হয়। - ফাইল অ্যাপেন্ড করতে
FileWriterএর দ্বিতীয় প্যারামিটারtrueব্যবহার করা হয়।
Java তে ফাইল রিডিং এবং রাইটিং অপারেশন বিভিন্ন অ্যাপ্লিকেশন ডেভেলপমেন্টে ডেটা সংরক্ষণ ও ব্যবস্থাপনায় কার্যকরীভাবে সহায়ক।
Read more