ক্যারেক্টার স্ট্রিমস (Character Streams) − এগুলো ১৬-বিট ইউনিকোডে ডেটা হ্যান্ডেল করে। এই ব্যবহার করে আপনি শুধু টেক্সট ডেটা পড়তে এবং লিখতে পারেন।
Reader এবং Writer ক্লাস (অবস্ট্রাক্ট) সমস্ত ক্যারেক্টার স্ট্রিম ক্লাসের সুপার ক্লাস: যেসব ক্লাস ক্যারেক্টার স্ট্রিম পড়তে/লিখতে ব্যবহৃত হয়। জাভা প্রদত্ত ক্যারেক্টার অ্যারে স্ট্রিম ক্লাসগুলো নিচে দেওয়া হলো −
| Reader | Writer |
|---|---|
| BufferedReader | BufferedWriter |
| CharArrayReader | CharArrayWriter |
| StringReader | StringWriter |
| FileReader | FileWriter |
| InputStreamReader | InputStreamWriter |
| FileReader | FileWriter |
উদাহরণ
নিচের জাভা প্রোগ্রাম একটি নির্দিষ্ট ফাইল থেকে FileReader ব্যবহার করে ডেটা পড়ে এবং FileWriter ব্যবহার করে অন্য একটি ফাইলে লিখে।
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class IOStreamsExample {
public static void main(String args[]) throws IOException {
// FileReader অবজেক্ট তৈরি
File file = new File("D:/myFile.txt");
FileReader reader = new FileReader(file);
char chars[] = new char[(int) file.length()];
// ফাইল থেকে ডেটা পড়া
reader.read(chars);
// অন্য ফাইলে ডেটা লিখা
File out = new File("D:/CopyOfmyFile.txt");
FileWriter writer = new FileWriter(out);
// ফাইলে ডেটা লিখা
writer.write(chars);
writer.flush();
System.out.println("Data successfully written in the specified file");
}
}
আউটপুট
Data successfully written in the specified file