System ক্লাসের out ফিল্ড একটি স্ট্যান্ডার্ড আউটপুট স্ট্রিম রিপ্রেজেন্ট করে, যা PrintStream ক্লাসের একটি অবজেক্ট।
এই ক্লাসের println() মেথড যেকোনো ভ্যালু (যেকোনো জাভা বৈধ টাইপের) গ্রহণ করে, প্রিন্ট করে এবং লাইন টার্মিনেট করে।
ডিফল্টভাবে, কনসোল (স্ক্রিন) জাভায় স্ট্যান্ডার্ড আউটপুট স্ট্রিম (System.out) এবং যখনই আমরা System.out.println() মেথডে যেকোনো স্ট্রিং ভ্যালু পাস করি, এটি কনসোলে দেয়া স্ট্রিং প্রিন্ট করে।
System.out.println() রিডাইরেক্ট করা
System ক্লাসের setOut() মেথড PrintStream ক্লাসের একটি অবজেক্ট গ্রহণ করে এবং এটি নতুন স্ট্যান্ডার্ড আউটপুট স্ট্রিম হিসেবে সেট করে।
তাই, System.out.println() আউটপুট ফাইলে রিডাইরেক্ট করতে:
- File ক্লাসের একটি অবজেক্ট তৈরি করুন।
- PrintStream ক্লাস ইনস্ট্যানশিয়েট করুন উপরের তৈরি File অবজেক্ট পাস করে প্যারামিটার হিসেবে।
- System ক্লাসের out() মেথড আহ্বান করুন, PrintStream অবজেক্ট পাস করুন।
- অবশেষে, println() মেথড ব্যবহার করে ডেটা প্রিন্ট করুন, এবং এটি প্রথম ধাপে তৈরি File অবজেক্ট দ্বারা রিপ্রেজেন্টেড ফাইলে রিডাইরেক্ট হবে।
উদাহরণ
import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
public class SetOutExample {
public static void main(String args[]) throws IOException {
File file = new File("D:\\sample.txt");
PrintStream stream = new PrintStream(file);
System.out.println("From now on " + file.getAbsolutePath() + " will be your console");
System.setOut(stream);
System.out.println("Hello, how are you");
System.out.println("Welcome to Tutorialspoint");
}
}
আউটপুট (কনসোলে)
From now on D:\sample.txt will be your console
ফাইলে লেখা হয়েছে:
Hello, how are you
Welcome to Tutorialspoint
সতর্কতা: System.setOut() gọi করার পর সব System.out আউটপুট ফাইলে যাবে। মূল কনসোল ফিরে পেতে System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out))) ব্যবহার করতে হয়।