ফাইলের ডেটা পড়া এবং লেখা করার সময়, সঠিক encoding নির্বাচন করা খুব গুরুত্বপূর্ণ, বিশেষ করে যদি ফাইলটি বিভিন্ন ভাষা বা বিশেষ চিহ্ন (special characters) ধারণ করে থাকে। UTF-8 এবং ISO-8859-1 হল দুটি প্রচলিত এনকোডিং ফরম্যাট, এবং অ্যাপাচি কমন্স আইও লাইব্রেরি সহজেই এই এনকোডিং ফরম্যাটগুলো ব্যবহারের জন্য উপযুক্ত মেথড সরবরাহ করে।
এই টিউটোরিয়ালে আমরা দেখব কিভাবে অ্যাপাচি কমন্স আইও ব্যবহার করে UTF-8 এবং ISO-8859-1 এনকোডিং ফরম্যাটে ফাইল পড়া এবং লেখা যাবে।
UTF-8 হল একটি ইউনিকোড এনকোডিং ফরম্যাট যা সমস্ত ভাষার চিহ্ন এবং অক্ষর সংরক্ষণ করতে পারে এবং এটি বর্তমানে সবচেয়ে জনপ্রিয় এনকোডিং ফরম্যাট।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class Utf8FileExample {
public static void main(String[] args) {
File file = new File("example.txt");
try {
// UTF-8 এনকোডিং দিয়ে ফাইল থেকে ডেটা পড়া
String fileContent = FileUtils.readFileToString(file, "UTF-8");
// কনটেন্ট প্রিন্ট করা
System.out.println(fileContent);
} catch (IOException e) {
e.printStackTrace();
}
}
}
readFileToString(file, "UTF-8")
: এই মেথডটি ফাইলের কনটেন্ট পড়ে এবং UTF-8 এনকোডিং অনুযায়ী এটি স্ট্রিং আকারে রিটার্ন করে।UTF-8
এনকোডিং সিস্টেম বিভিন্ন ভাষা ও বিশেষ অক্ষর যেমন বাংলা, চীনা, আরবি ইত্যাদি সঠিকভাবে প্রক্রিয়া করতে পারে।import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class WriteUtf8FileExample {
public static void main(String[] args) {
File file = new File("output.txt");
try {
// UTF-8 এনকোডিং দিয়ে ফাইলে লেখা
String content = "Hello, this is a UTF-8 encoded file with special characters: ä, é, ü.";
FileUtils.writeStringToFile(file, content, "UTF-8");
System.out.println("Data written to the file with UTF-8 encoding.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
writeStringToFile(file, content, "UTF-8")
: এটি ফাইলটি UTF-8 এনকোডিং ব্যবহার করে ডেটা লেখে।ISO-8859-1 (বা Latin-1) হল একটি এনকোডিং ফরম্যাট যা পশ্চিম ইউরোপীয় ভাষার অধিকাংশ অক্ষর (যেমন ইংরেজি, স্প্যানিশ, ফরাসি) সঠিকভাবে প্রদর্শন করতে সক্ষম। তবে, এটি কিছু বিশেষ অক্ষর (যেমন চীনা, আরবি) হ্যান্ডেল করতে পারে না। সাধারণত ISO-8859-1 ব্যবহার করা হয় যখন শুধুমাত্র পশ্চিম ইউরোপীয় ভাষায় কাজ করতে হয়।
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class Iso88591FileExample {
public static void main(String[] args) {
File file = new File("example_iso.txt");
try {
// ISO-8859-1 এনকোডিং দিয়ে ফাইল থেকে ডেটা পড়া
String fileContent = FileUtils.readFileToString(file, "ISO-8859-1");
// কনটেন্ট প্রিন্ট করা
System.out.println(fileContent);
} catch (IOException e) {
e.printStackTrace();
}
}
}
readFileToString(file, "ISO-8859-1")
: এই মেথডটি ISO-8859-1 এনকোডিং ব্যবহার করে ফাইলের কনটেন্ট পড়বে এবং স্ট্রিং হিসেবে রিটার্ন করবে।import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
public class WriteIso88591FileExample {
public static void main(String[] args) {
File file = new File("output_iso.txt");
try {
// ISO-8859-1 এনকোডিং দিয়ে ফাইলে লেখা
String content = "Hello, this is a file encoded with ISO-8859-1.";
FileUtils.writeStringToFile(file, content, "ISO-8859-1");
System.out.println("Data written to the file with ISO-8859-1 encoding.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
writeStringToFile(file, content, "ISO-8859-1")
: এটি ফাইলটিতে ISO-8859-1 এনকোডিং ব্যবহার করে ডেটা লেখে।Apache Commons IO লাইব্রেরি ফাইল থেকে ডেটা পড়া এবং লেখা করার সময় UTF-8 এবং ISO-8859-1 এনকোডিং ব্যবহারের জন্য সহজ এবং কার্যকরী মেথড সরবরাহ করে। readFileToString()
এবং writeStringToFile()
মেথডগুলো ব্যবহার করে আপনি যে কোনো এনকোডিং ফরম্যাটে ফাইলের ডেটা সহজেই প্রক্রিয়া করতে পারেন। এটি বিশেষ করে বিভিন্ন ভাষার অক্ষর সমর্থন এবং মেমোরি ব্যবস্থাপনা ক্ষেত্রে খুবই কার্যকরী।
common.read_more