天天看點

Java 拓展之調用其他語言

目前而言,程式設計語言真的是太多了。每一種都是一種智慧的結晶,但是每個都存在其缺點。網上經常能看到一些程式員争論“XX是世界上最好的語言”之類的話題。其實我們大可不必這樣。語言本身隻是一種工具,一種幫助我們實作自己功能的工具。我們為什麼非要一棵樹上吊死呢?

我不否認,使用一種語言。确實便于維護和管理。但是綜合多種語言,共同完成一個項目,豈不更加高效嗎?這正如一個團隊項目,幾個人一起做,總比一個人孤軍奮戰來的好吧。

下面,我就以Java語言為主,分别讨論一下如何調用其他語言來完成我們的需求。

CMD作為windows平台上腳本老大哥,雖然指令很少,但是功能還是很強大的。在Java中調用外部的執行指令,隻需要使用Runtime即可。

exec方法有很多的重載,我們可以根據情況來進行調用。

要想獲得CMD指令執行的回報資訊,需要借助輸入流來實作。如下:

調用此方法之後,控制台獲得的回報資訊如下:

如此,便可以實作Java調用CMD,并獲得回報資訊。

Python是一個抽象層次更高的語言,其完美的庫真的是讓人愛不釋手啊,強大的庫成就了Python。下面我們就來看一個小例子,看看Java是怎麼調用Python的。使用Java調用Python的前提是有一個運作環境的支援,這裡采用的是jython.jar

<a href="http://www.manyjar.com/search/jython.jar.zip.html">jython.jar下載下傳位址</a>

先看看Python代碼吧。

然後是Java代碼

下面看看執行的結果:

然後确實可以在同級的目錄下,發現多了一個名為Python_file.txt的檔案。打開之後,内容和RunPython.java 是一緻的。

其實今天的代碼部分的分享到這裡就完了,但是從這兩個小例子中我們不難看出。每種語言都有其優點,我們要學會利用它們的優點,而且是發揮出它們本身最大的價值。這樣才能事半功倍。單純的依靠一種語言,恐怕效果并不一定會很好的吧。

比如,我們用Python收集資料,使用Java進行處理,使用js完善,等等吧。

其實技術上不是最困難的,真正困難的是如何打破思維僵化,打破慣性!

:-)

最後附上一個CMD指令查詢表