2013-04-23 7 views
13

मुझे नहीं पता कि यह एक स्कैला या प्ले है या नहीं! सवाल। मैं अपने प्ले एप्लिकेशन से कुछ बाहरी कमांड निष्पादित करना चाहता हूं, कमांड से आउटपुट प्राप्त करें और कमांड आउटपुट के आधार पर उपयोगकर्ता को एक रिपोर्ट दिखाएं। क्या कोई मदद कर सकता है?बाहरी कमांड निष्पादित करें

Id Name IP 
==================== 
1  A  x.y.z.a 
2  B  p.q.r.s 

कृपया, प्रारूप और की पार्स के बारे में चिंता मत करो:

उदाहरण के लिए, जब मैं खोल से मेरी कमान दर्ज यह नीचे की तरह उत्पादन है, जो मैं पर कब्जा और वेब पर प्रदर्शित करना चाहते से पता चलता उत्पादन। कार्यात्मक रूप से, मैं कुछ ऐसा देख रहा हूं जैसे PHP exec। मुझे जावा के बारे में पता है Runtime.getRuntime()। Exec ("command") लेकिन क्या उद्देश्य को पूरा करने के लिए कोई स्कैला/प्ले संस्करण है?

उत्तर

35

आपको पहले स्कैला के प्रक्रिया पैकेज आयात करना होगा। विधि !! आपको जो चाहिए वह करता है, यह कथन निष्पादित करता है और टेक्स्ट आउटपुट को कैप्चर करता है।

import scala.sys.process._ 
val cmd = "uname -a" // Your command 
val output = cmd.!! // Captures the output 
+4

[हैंडी दस्तावेज लिंक] (http://www.scala-lang.org/api/2.10.4/#scala.sys.process.package) – BeepDog

7
scala> import scala.sys.process._ 
scala> Process("cat temp.txt")! 

यह मानता है कि आपकी होम निर्देशिका में एक अस्थायी फ़ाइल है। ! कमांड के वास्तविक निष्पादन के लिए है। अधिक जानकारी के लिए scala.sys.process देखें।

+0

बहुत धन्यवाद, मैंने प्रोसेस क्लास के बारे में नहीं किया। –

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