2009-03-16 22 views
8

मैं जानना चाहता हूं, जावा स्टेडर मानक कहां जाता है?जावा स्टेडर कहाँ जाता है?

मुझे पता है कि मैं System.setErr का उपयोग कर stderr को बदल सकता हूं, जो 'मानक "त्रुटि आउटपुट स्ट्रीम' को पुन: असाइन करता है। ', लेकिन मुझे नहीं पता, कौन सा" मानक "है।

मैं अपना प्रश्न अधिक निर्दिष्ट करना चाहता हूं: मेरे पास सी ++ लाइब्रेरी है जिसका उपयोग मैं जावा (जेनी) में करता हूं। समस्या यह है कि ऐसा प्रतीत होता है कि मैं आउटपुट को stderr में नहीं देख सकता, जो कि मेरी सी ++ लाइब्रेरी से आता है। मैं सी ++ लाइब्रेरी में assert() को कॉल करता हूं और कंसोल में आउटपुट नहीं देखता, जब मैं जावा एपीआई चलाता हूं जो लाइब्रेरी का उपयोग करता है।

+0

आप System.stderr.writeln कोशिश की ("मैं यहाँ हुं")? तुमने क्या देखा? –

उत्तर

3

डिफ़ॉल्ट रूप से System.err System.out की तरह कंसोल है।

-1

मानक त्रुटि आउटपुट स्ट्रीम कंसोल पर जाती है। यह स्ट्रीम पहले से ही खुला है और आउटपुट डेटा स्वीकार करने के लिए तैयार है।

अधिक जानकारी के लिए java sun api देखें।

+1

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। – Linuxios

+0

हाँ, आप सही हैं, मैं इसे बदल दूंगा! – Tobias

14

यह प्रक्रिया की मानक त्रुटि स्ट्रीम पर जाता है, जो भी हो रहा है।

  • यदि आप कंसोल से एप्लिकेशन चलाते हैं, तो शायद यह कंसोल को भी लिख देगा।
  • एक जीयूआई में, मानक आउट/गलती अक्सर गिरा दी जाती है, यानी आउटपुट खो जाता है।
  • किसी सेवा में (उदा। एक वेब सर्वर) मानक त्रुटि/आउटपुट आमतौर पर किसी घूर्णन लॉग फ़ाइल में कैप्चर किया जाता है, लेकिन यह पूरी तरह से सेवा पर निर्भर करता है।

अधिकांश प्लेटफ़ॉर्म आपको कहीं और मानक त्रुटि स्ट्रीम को रीडायरेक्ट करने की अनुमति देते हैं (उदा। टेक्स्ट फ़ाइल में)।

System.setErr के विचार ही प्रक्रिया की मानक त्रुटि स्ट्रीम का उपयोग नहीं की अनुमति है, लेकिन यह इतना है कि System.err.println आदि करने के लिए कॉल बदल दिया धारा पर जाने के लिए है।

0

मैंने अभी एक छोटा परीक्षण कार्यक्रम लिखा है जो System.err.println करता है और यह कंसोल पर आउटपुट प्रतीत होता है।

2

कॉलर का फ़ाइल वर्णनकर्ता 2। जहां से यह जाता है — कॉलर पर निर्भर करता है। कंसोल पर, आप इसे कहीं और अनुप्रेषित कर सकते हैं, उदाहरण के लिए:

java Example 2>> errors.log 
संबंधित मुद्दे