অনেক সময় আমাদের প্রোগ্রাম রান করার সময় কিছু তথ্য আস্থায়ীভাবে সংরক্ষণ করার জন্য টেম্পোরারি ফাইল তৈরি করতে হয় এবং بعدে সেগুলো ডিলিট করতে হয়। জাভাতে Files.createTempFile() মেথড ব্যবহার করে সহজেই অস্থায়ী ফাইল তৈরি করা যায়।
অস্থায়ী ফাইল তৈরি করা
নিচের উদাহরণে Files.createTempFile(prefix, suffix) ব্যবহার করে একটি টেম্পোরারি ফাইল তৈরি করা দেখানো হয়েছে।
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class CreateTempFile {
public static void main(String[] args) {
try {
// একটি অস্থায়ী ফাইল তৈরি
Path tempFile = Files.createTempFile("temp-", ".txt");
System.out.println("Temp file : " + tempFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
আউটপুট:
Temp file : /var/folders/nyckvw0000gr/T/temp-2129139085984899264.txt
এখানে "temp-" হলো প্রিফিক্স (prefix) এবং ".txt" হলো সাফিক্স (suffix)।
নোট: ডিফল্টভাবে জাভা অস্থায়ী ফাইলগুলো সিস্টেমের টেম্পোরারি ডিরেক্টরিতে তৈরি করে। System.getProperty("java.io.tmpdir") কল করে টেম্পোরারি ডিরেক্টরির পথ জানা যায়।
যদি সাফিক্স null হয়, তবে ফাইলটি .tmp এক্সটেনশনের সাথে তৈরি হয়। উদাহরণস্বরূপ:
Path tempFile = Files.createTempFile("prefix-", null);
System.out.println("Temp file : " + tempFile);
// Temp file : /var/folders/nyckvw0000gr/T/prefix-17184288103181464441.tmp
আর যদি সাফিক্স খালি স্ট্রিং ("") দেওয়া হয়, তবে ফাইলটি এক্সটেনশন ছাড়াই তৈরি হয়:
Path tempFile = Files.createTempFile(null, "");
System.out.println("Temp file : " + tempFile);
// Temp file : /var/folders/nyckvw0000gr/T/1874152090427250275
নির্দিষ্ট ডিরেক্টরিতে টেম্প ফাইল তৈরি করা
জাভাকে ডিফল্ট ডিরেক্টরি বেছে নেওয়ার বদলে আপনি নিজে নির্দিষ্ট করে বলতে পারেন ফাইলটি কোথায় তৈরি হবে।
উদাহরণ:
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateTempFile {
public static void main(String[] args) {
try {
Path path = Paths.get("target/tmp/");
// নির্দিষ্ট ডিরেক্টরিতে অস্থায়ী ফাইল তৈরি
Path tempFile = Files.createTempFile(path, null, ".log");
System.out.println("Temp file : " + tempFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
নোট: নির্দিষ্ট ডিরেক্টরিটি অবশ্যই অস্তিত্বে থাকতে হবে, অন্যথায় ফাইল লেখা সম্ভব নয়।
টেম্প ফাইল তৈরি করে সেখানে লেখা
নিচের কোড উদাহরণে একটি টেম্পোরারি ফাইল তৈরি করা হয়েছে এবং তারপর সেখানে কিছু টেক্সট লেখা হয়েছে।
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateTempFile {
public static void main(String[] args) {
try {
Path path = Paths.get("target/tmp/");
// নির্দিষ্ট ডিরেক্টরিতে একটি অস্থায়ী ফাইল তৈরি
Path tempFile = Files.createTempFile(path, null, ".log");
System.out.println("Temp file : " + tempFile);
// একটি লাইন লেখা
Files.write(tempFile, "Hello From Temp File\n".getBytes(StandardCharsets.UTF_8));
} catch (IOException e) {
e.printStackTrace();
}
}
}
- জাভাতে ফাইলে লেখা
- জাভাতে ফাইল তৈরি
- জাভাতে ফাইল পড়া