2012-10-08 102 views
-1

我需要我的Java應用程序能夠從其他程序(.exe程序)獲取一些信息(表,字符串等)。我不知道其他程序正在使用的編程語言。我認識一個在工作中使用delphi的人,但我需要一個java應用程序。我正在做一些研究,我發現JNA,這是要走的路嗎?在他的應用程序文件夾中,我找到以下.dlls:apigid32,asycfilt,Comcat,msstkprp,Msvbvm60,Oleaut32,Olepro32,Vb6stkit。。這些DLL中的任何一個正在執行他的delphi應用程序和程序之間的通信?從我的Java應用程序的其他程序獲取信息

Ty for your help。

+4

你有很多的溝通方式兩個(或更多)程序:通過數據庫,通過文件(文本和/或二進制文件),通過TCP/IP或UDP套接字連接,通過使用Web服務(或另一種通過TCP/IP,如Corba的技術)之間的調用,使用管道......以及更多。你應該根據這個信息進行設計。 –

+0

它被稱爲JNI,並且在@ LuiggiMendoza的建議之後,我會按照首選項的順序放置它。只有當你絕對必須做到這一點。 – Isaac

+0

不知道爲什麼人們低估了這個問題。這是一個有效的問題。相當不尋常,呈現瘋狂的危險,但仍然有效。 – Isaac

回答

-1

最好的選擇(在本地基地)是讓其他程序輸出字符串,表格,數組等等到一個文件(爲了方便閱讀,我推薦使用.txt文件)並讓Java從文件

ex。代碼(JAVA) import語句:

import java.io.* 

你需要寫一個字符串到一個文件中的代碼:

BufferedWriter outStream= new BufferedWriter(new FileWriter("test.txt", true)); 
outStream.newLine(); 
outStream.write(outputString); 
outStream.close(); 
+0

-1。它可以。這通常是一個壞主意(取決於使用情況),但它可以。 – Isaac

+0

已修復,雖然我認爲Java不能將多餘的DLL文件用於文件IO(您可能已經導入了java.io,並且更容易使用該類中的方法) – Azulflame

+0

嗯,是的。這可能是多餘的,相當瘋狂,但仍然 - 這是可能的。 – Isaac

相關問題