Apache Commons IO লাইব্রেরি Java I/O API এর বাইরের অতিরিক্ত কার্যকরী ফিচার সরবরাহ করে যা ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনকে সহজ এবং কার্যকরী করে তোলে। এর মধ্যে একটি গুরুত্বপূর্ণ ফিচার হল ফাইলের পাথ ম্যানিপুলেশন (File Path Manipulation), যা আপনাকে ফাইল এবং ডিরেক্টরি পাথের উপর বিভিন্ন কার্যক্রম যেমন পাথ তৈরি, ফাইল এক্সটেনশন বের করা, পাথ সংযোজন, ফাইল নাম পরিবর্তন ইত্যাদি করার সুযোগ দেয়।
Apache Commons IO লাইব্রেরির FilenameUtils ক্লাসটি ফাইল পাথ ম্যানিপুলেশনের জন্য সবচেয়ে বেশি ব্যবহৃত হয়। এই ক্লাসের মাধ্যমে আপনি ফাইলের পাথ, এক্সটেনশন, পাথ তৈরি ইত্যাদি কাজগুলো দ্রুত এবং সহজভাবে করতে পারেন।
FilenameUtils
হল একটি ক্লাস যা ফাইলের নাম এবং পাথ সম্পর্কিত বিভিন্ন কার্যক্রম পরিচালনা করে। এর মাধ্যমে আপনি ফাইলের পাথের সাথে বিভিন্ন কাজ করতে পারেন, যেমন:
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()
মেথডটি পাথ থেকে ফাইলের নাম বের করে (এক্সটেনশনসহ বা এক্সটেনশন ছাড়া)।
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()
মেথডটি একটি পাথের সাথে অন্য পাথ বা ফাইলের নাম যোগ করতে ব্যবহৃত হয়।
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()
মেথডটি ফাইলের পাথ থেকে ডিরেক্টরি পাথ বের করে, যা ফাইলের এক্সটেনশন ছাড়া পুরো পাথ দেয়।
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()
মেথডটি পাথের অতিরিক্ত স্ল্যাশ বা অন্য কোনো অস্বাভাবিক অংশগুলোকে সঠিকভাবে ফরম্যাট করে।
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()
মেথডটি একটি পাথ থেকে ডিরেক্টরি পাথ বের করে।
isExtension()
মেথডটি একটি ফাইলের এক্সটেনশন চেক করতে ব্যবহৃত হয়, যেমন এটি .txt
কিনা।
এই মেথডগুলো পাথ সেপারেটরকে সংশ্লিষ্ট অপারেটিং সিস্টেমের জন্য মানানসই করে। উদাহরণস্বরূপ, Unix সিস্টেমে /
ব্যবহার হয়, আর Windows সিস্টেমে \\
ব্যবহার হয়। এই মেথডগুলো সাহায্য করে পাথের সেপারেটর কনভার্ট করতে।
Apache Commons IO - FilenameUtils ক্লাসটি ফাইল পাথ ম্যানিপুলেশনের জন্য একটি অত্যন্ত শক্তিশালী এবং কার্যকরী টুল। এর মাধ্যমে আপনি সহজেই ফাইল এক্সটেনশন বের করা, পাথ সংযোজন, পাথের ফরম্যাট ঠিক করা, এবং ডিরেক্টরি বা ফাইল নাম বের করার মতো কাজগুলো করতে পারেন। এই ফিচারগুলি Java ডেভেলপারদের ফাইল এবং ডিরেক্টরি ম্যানিপুলেশনকে আরও দ্রুত এবং কার্যকরীভাবে করতে সহায়তা করে, এবং কোড লেখার জটিলতা অনেক কমিয়ে দেয়।
common.read_more