Apache Commons IO লাইব্রেরি Java I/O API এর বাইরের অতিরিক্ত কার্যকরী ফিচার সরবরাহ করে যা ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনকে সহজ এবং কার্যকরী করে তোলে। এর মধ্যে একটি গুরুত্বপূর্ণ ফিচার হল ফাইলের পাথ ম্যানিপুলেশন (File Path Manipulation), যা আপনাকে ফাইল এবং ডিরেক্টরি পাথের উপর বিভিন্ন কার্যক্রম যেমন পাথ তৈরি, ফাইল এক্সটেনশন বের করা, পাথ সংযোজন, ফাইল নাম পরিবর্তন ইত্যাদি করার সুযোগ দেয়।
Apache Commons IO লাইব্রেরির FilenameUtils ক্লাসটি ফাইল পাথ ম্যানিপুলেশনের জন্য সবচেয়ে বেশি ব্যবহৃত হয়। এই ক্লাসের মাধ্যমে আপনি ফাইলের পাথ, এক্সটেনশন, পাথ তৈরি ইত্যাদি কাজগুলো দ্রুত এবং সহজভাবে করতে পারেন।
১. FilenameUtils ক্লাসের ভূমিকা
FilenameUtils হল একটি ক্লাস যা ফাইলের নাম এবং পাথ সম্পর্কিত বিভিন্ন কার্যক্রম পরিচালনা করে। এর মাধ্যমে আপনি ফাইলের পাথের সাথে বিভিন্ন কাজ করতে পারেন, যেমন:
- পাথ থেকে ফাইল এক্সটেনশন বের করা
- পাথ সংযোজন করা
- পাথ থেকে ফাইল নাম বের করা
- পাথের নির্দিষ্ট অংশ আলাদা করা
- পাথ সঠিকভাবে ফরম্যাট করা
২. FilenameUtils এর কিছু জনপ্রিয় মেথড
২.১. getExtension() - ফাইল এক্সটেনশন বের করা
getExtension() মেথডটি ফাইলের পাথ থেকে ফাইল এক্সটেনশন বের করে।
উদাহরণ: ফাইল এক্সটেনশন বের করা
import org.apache.commons.io.FilenameUtils;
public class FilenameUtilsExample {
public static void main(String[] args) {
String filePath = "path/to/file/document.txt";
// Get the file extension
String extension = FilenameUtils.getExtension(filePath);
System.out.println("File extension: " + extension); // Output: txt
}
}
এখানে:
FilenameUtils.getExtension()মেথডটি পাথ থেকে.txtএক্সটেনশন বের করেছে।
২.২. getName() - ফাইল নাম বের করা
getName() মেথডটি পাথ থেকে ফাইলের নাম বের করে (এক্সটেনশনসহ বা এক্সটেনশন ছাড়া)।
উদাহরণ: ফাইল নাম বের করা
import org.apache.commons.io.FilenameUtils;
public class FilenameUtilsExample {
public static void main(String[] args) {
String filePath = "path/to/file/document.txt";
// Get the file name with extension
String fileName = FilenameUtils.getName(filePath);
System.out.println("File name: " + fileName); // Output: document.txt
}
}
এখানে:
FilenameUtils.getName()মেথডটি পাথ থেকে ফাইলের নাম এবং এক্সটেনশনdocument.txtবের করেছে।
২.৩. concat() - পাথ সংযোজন করা
concat() মেথডটি একটি পাথের সাথে অন্য পাথ বা ফাইলের নাম যোগ করতে ব্যবহৃত হয়।
উদাহরণ: পাথ সংযোজন করা
import org.apache.commons.io.FilenameUtils;
public class FilenameUtilsExample {
public static void main(String[] args) {
String basePath = "path/to/directory/";
String fileName = "document.txt";
// Concatenate directory path and file name
String fullPath = FilenameUtils.concat(basePath, fileName);
System.out.println("Full file path: " + fullPath); // Output: path/to/directory/document.txt
}
}
এখানে:
FilenameUtils.concat()মেথডটি পাথpath/to/directory/এর সাথেdocument.txtফাইলের নাম যোগ করেছে।
২.৪. getFullPath() - পাথের পূর্ণ ঠিকানা বের করা
getFullPath() মেথডটি ফাইলের পাথ থেকে ডিরেক্টরি পাথ বের করে, যা ফাইলের এক্সটেনশন ছাড়া পুরো পাথ দেয়।
উদাহরণ: পাথের পূর্ণ ঠিকানা বের করা
import org.apache.commons.io.FilenameUtils;
public class FilenameUtilsExample {
public static void main(String[] args) {
String filePath = "path/to/file/document.txt";
// Get the full path (directory) of the file
String directoryPath = FilenameUtils.getFullPath(filePath);
System.out.println("Directory path: " + directoryPath); // Output: path/to/file/
}
}
এখানে:
FilenameUtils.getFullPath()মেথডটি পাথpath/to/file/document.txtথেকে ডিরেক্টরি পাথpath/to/file/বের করেছে।
২.৫. normalize() - পাথকে সঠিক ফরম্যাটে পরিবর্তন করা
normalize() মেথডটি পাথের অতিরিক্ত স্ল্যাশ বা অন্য কোনো অস্বাভাবিক অংশগুলোকে সঠিকভাবে ফরম্যাট করে।
উদাহরণ: পাথের ফরম্যাট ঠিক করা
import org.apache.commons.io.FilenameUtils;
public class FilenameUtilsExample {
public static void main(String[] args) {
String filePath = "path/to/../file/document.txt";
// Normalize the path (remove redundant segments)
String normalizedPath = FilenameUtils.normalize(filePath);
System.out.println("Normalized path: " + normalizedPath); // Output: path/file/document.txt
}
}
এখানে:
FilenameUtils.normalize()মেথডটি পাথpath/to/../file/document.txtকেpath/file/document.txtএ রূপান্তরিত করেছে, অর্থাৎ অপ্রয়োজনীয় অংশ..সরিয়ে দিয়েছে।
৩. আরও ফিচার
৩.১. getPath() - পাথ থেকে ডিরেক্টরি বের করা
getPath() মেথডটি একটি পাথ থেকে ডিরেক্টরি পাথ বের করে।
৩.২. isExtension() - এক্সটেনশন চেক করা
isExtension() মেথডটি একটি ফাইলের এক্সটেনশন চেক করতে ব্যবহৃত হয়, যেমন এটি .txt কিনা।
৩.৩. separatorsToUnix() এবং separatorsToWindows()
এই মেথডগুলো পাথ সেপারেটরকে সংশ্লিষ্ট অপারেটিং সিস্টেমের জন্য মানানসই করে। উদাহরণস্বরূপ, Unix সিস্টেমে / ব্যবহার হয়, আর Windows সিস্টেমে \\ ব্যবহার হয়। এই মেথডগুলো সাহায্য করে পাথের সেপারেটর কনভার্ট করতে।
সারাংশ
Apache Commons IO - FilenameUtils ক্লাসটি ফাইল পাথ ম্যানিপুলেশনের জন্য একটি অত্যন্ত শক্তিশালী এবং কার্যকরী টুল। এর মাধ্যমে আপনি সহজেই ফাইল এক্সটেনশন বের করা, পাথ সংযোজন, পাথের ফরম্যাট ঠিক করা, এবং ডিরেক্টরি বা ফাইল নাম বের করার মতো কাজগুলো করতে পারেন। এই ফিচারগুলি Java ডেভেলপারদের ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনকে আরও দ্রুত এবং কার্যকরীভাবে করতে সহায়তা করে, এবং কোড লেখার জটিলতা অনেক কমিয়ে দেয়।
Read more