2009-04-28 21 views
8

क्या ग्रहण में I/O पुनर्निर्देशन का उपयोग करना संभव है?आई/ओ पुनर्निर्देशन?

मैं java MyProgram <input.txt >output.txt जैसे कमांड लाइन पर मानक इनपुट/आउटपुट को रीडायरेक्ट करना चाहता हूं, लेकिन मुझे ग्रहण में काम करने के लिए प्रतीत नहीं होता है। मैंने प्रोग्राम तर्कों के भाग के रूप में < के साथ प्रयास करने की कोशिश की, जिसे अनदेखा किया गया था, और वीएम तर्कों में भी, जिसने कक्षा को फेंक दिया, त्रुटि नहीं मिली। मैं यह कैसे कर सकता हूँ?

+0

वास्तव में एक समाधान नहीं है, लेकिन आप पहले से ही चला जा सकता है;) – VonC

उत्तर

4

सही मायने में दोनों अनुप्रेषित करने के लिए, सबसे आसान तरीका है (किसी बाहरी स्क्रिप्ट

"java %1 %2 %3 %4 < %5 > %6" 

के रूप में अपने कार्यक्रम को परिभाषित करने के पैरामीटर की संख्या अनुकूलित करने के लिए अभी भी है आपके विशेष कार्यक्रम)

भागो मेनू में, 'बाहरी उपकरण .../ओपन बाहरी उपकरण संवाद "पर क्लिक करें और एक बाहरी लांच विन्यास जिसमें आप दोनों बहस और इनपुट और आउटपुट फ़ाइल निर्दिष्ट करेगा परिभाषित करते हैं।


हालांकि यह एक आदर्श समाधान नहीं है, क्योंकि आप सीधे को अपने कोड ("डीबग" लॉन्चर कॉन्फ़िगरेशन के साथ) डीबग नहीं कर सकते हैं।
इसके बजाय आप दूरस्थ डिबग यह

, ('-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000' अपने सामान्य जावा निर्माता लिपि में जोड़ें) एक बार जब आप अपने बाहरी उपकरण शुरू किया है "डिबग लांचर 'रिमोट जावा अनुप्रयोग'" अनुभाग के माध्यम से एक दूरस्थ डिबग सत्र शुरू करने के लिए है :

Remote Debug, after blog.jmwyttenbach.net/wp-content/uploads/2007/10/eclipseremotedebug.jpg

12

रन संवाद, सामान्य टैब, "मानक इनपुट और आउटपुट" अनुभाग का उपयोग करके आप आउटपुट रीडायरेक्ट कर सकते हैं।

हालांकि, यह नहीं दिखता है जैसे आप इनपुट जहाँ तक मैं बता सकता है (और जहाँ तक this Stack Overflow question के रूप में बता सकते हैं, भी) अनुप्रेषित कर सकते हैं।

आपके आवेदन पर आपके पास कितना नियंत्रण है? यदि आपको कुछ हैक नहीं लगता है, तो उचित फाइलों को निर्धारित करने के लिए आपके पास कुछ गुण या कमांड लाइन तर्क हो सकते हैं, और तदनुसार System.setOut और System.setIn का उपयोग करें। यह है एक हैक हालांकि का एक सा ...

+0

Thats मैं क्या सिर्फ बारे में कहने के उत्तर देने के लिए था ... हाँ, यह में सफाई से यह करने के लिए की तरह अपनी संभव नहीं लग रहा है ग्रहण, तो मैं बस एक टर्मिनल खुला रखता हूँ मुझे लगता है। धन्यवाद – Simonw

संबंधित मुद्दे