সিস্টেম লগ এর সম্পূর্ণ আউটপুট পেতে (টার্মিনাল)

আমি কনসোল জাভা অ্যাপ্লিকেশন তৈরি করছি যেখানে আপনি কনসোল কমান্ড টাইপ করতে পারেন যেমন ম্যাকিনটোশ/উবুন্টু/উইন্ডোজ কমান্ড প্রম্পটে টার্মিনাল এবং তারপর এটি একটি লগে আউটপুট করে।

আমি ভাবছিলাম, একটি সিস্টেম/কনসোল কমান্ড চালানোর সময়, আমি কিভাবে কমান্ড থেকে ফলাফল/লগ পেতে পারি?

নোট: আমি আক্ষরিক কোড মানে + ব্যাখ্যা দয়া করে।

1
System.out.println (ফলাফল) এর সাথে কী ভুল?
যোগ লেখক mishadoff, উৎস
উদাহরণস্বরূপ ইউটিলিটি বর্তমান তারিখ মুদ্রণ করে: সার্বজনীন স্ট্যাটিক অকার্যকর প্রধান (স্ট্রিং [] args) {System.out.println (নতুন তারিখ ()); }
যোগ লেখক mishadoff, উৎস
@ মিশাদফফ উদাহরণস্বরূপ?
যোগ লেখক Gray Adams, উৎস
আপনি কি মানে: স্ট্যান্ডার্ড আউটপুট মত?
যোগ লেখক Alexis Dufrenoy, উৎস
যোগ লেখক sarnold, উৎস

1 উত্তর

এটি করার বেশ কয়েকটি উপায় রয়েছে, এইটি (অথবা একটি বৈকল্পিক) সবচেয়ে সহজ, এই উদাহরণ

Process child = Runtime.getRuntime().exec(command);
InputStream in = child.getInputStream();

যদি আপনার দুটি অভ্যন্তরে যেতে চান এমন অভ্যন্তরীণ কমান্ড থাকে তবে কমন্স আইও TeeOutputStream

আপনার কনসোল, এবং একটি "ছায়া" লগ ফাইলের জন্য অভ্যন্তরীণ বা বাহ্যিক কমান্ডগুলি থেকে, সমস্ত আউটপুট পেতে উপরের কৌশলগুলি একত্রিত করতে পারে।

0
যোগ
যে কাজ করে না। "ইভেন্ট ডিসপ্যাচ থ্রেড তৈরি করে।
যোগ লেখক Gray Adams, উৎস
@ গ্রে অ্যাডামস আমি আপনার মন্তব্য বুঝতে পারছি না; দুঃখিত।
যোগ লেখক Dave Newton, উৎস