bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

java代碼調用什么包 java調用怎么寫

java調用python,有第三方包gensim,怎么調用呢,是報錯。求教....

Jython(原JPython),是一個用Java語言寫的Python解釋器。

創新互聯成立以來不斷整合自身及行業資源、不斷突破觀念以使企業策略得到完善和成熟,建立了一套“以技術為基點,以客戶需求中心、市場為導向”的快速反應體系。對公司的主營項目,如中高端企業網站企劃 / 設計、行業 / 企業門戶設計推廣、行業門戶平臺運營、app軟件定制開發成都手機網站制作、微信網站制作、軟件開發、電信內江機房等實行標準化操作,讓客戶可以直觀的預知到從創新互聯可以獲得的服務效果。

在沒有第三方模塊的情況下,通常選擇利用Jython來調用Python代碼,

它是一個開源的JAR包,你可以到官網下載

一個HelloPython程序

import?org.python.util.PythonInterpreter;

public?class?HelloPython?{

public?static?void?main(String[]?args)?{

PythonInterpreter?interpreter?=?new?PythonInterpreter();

interpreter.exec("print('hello')");

}

}

什么是PythonInterpreter?它的中文意思即是“Python解釋器”。我們知道Python程序都是通過解釋器來執行的,我們在Java中創建一個“解釋器”對象,模擬Python解釋器的行為,通過exec("Python語句")直接在JVM中執行Python代碼,上面代碼的輸出結果為:hello

在Jvm中執行Python腳本

interpreter.execfile("D:/labs/mytest/hello.py");

如上,將exec改為execfile就可以了。需要注意的是,這個.py文件不能含有第三方模塊,因為這個“Python腳本”最終還是在JVM環境下執行的,如果有第三方模塊將會報錯:java?ImportError:?No?module?named?xxx

僅在Java中調用Python編寫的函數

先完成一個hello.py代碼:

def?hello():

return?'Hello'

在Java代碼中調用這個函數:

import?org.python.core.PyFunction;

import?org.python.core.PyObject;

import?org.python.util.PythonInterpreter;

public?class?HelloPython?{

public?static?void?main(String[]?args)?{

PythonInterpreter?interpreter?=?new?PythonInterpreter();

interpreter.execfile("D:/labs/hello.py");

PyFunction?pyFunction?=?interpreter.get("hello",?PyFunction.class);?//?第一個參數為期望獲得的函數(變量)的名字,第二個參數為期望返回的對象類型

PyObject?pyObject?=?pyFunction.__call__();?//?調用函數

System.out.println(pyObject);

}

}

上面的代碼執行結果為:Hello

即便只是調用一個函數,也必須先加載這個.py文件,之后再通過Jython包中所定義的類獲取、調用這個函數。

如果函數需要參數,在Java中必須先將參數轉化為對應的“Python類型”,例如:

__call__(new?PyInteger(a),?new?PyInteger(b))

a,b的類型為Java中的int型,還有諸如:PyString(String?string)、PyList(IteratorPyObject?iter)?等。

詳細可以參考官方的api文檔。

包含第三方模塊的情況:一個手寫識別程序

這是我和舍友合作寫的一個小程序,完整代碼在這里:

,界面上引用了core?java上的一段代碼。Python代碼是舍友寫的,因為在Python程序中使用了第三方的NumPy模塊,導致無法通過Jython執行。下面這個方法純粹是個人思路,沒有深入查資料。?核心代碼如下:

import?java.io.*;

class?PyCaller?{

private?static?final?String?DATA_SWAP?=?"temp.txt";

private?static?final?String?PY_URL?=?System.getProperty("user.dir")?+?"\\test.py";

public?static?void?writeImagePath(String?path)?{

PrintWriter?pw?=?null;

try?{

pw?=?new?PrintWriter(new?FileWriter(new?File(DATA_SWAP)));

}?catch?(IOException?e)?{

e.printStackTrace();

}

pw.print(path);

pw.close();

}

public?static?String?readAnswer()?{

BufferedReader?br;

String?answer?=?null;

try?{

br?=?new?BufferedReader(new?FileReader(new?File(DATA_SWAP)));

answer?=?br.readLine();

}?catch?(FileNotFoundException?e)?{

e.printStackTrace();

}?catch?(IOException?e)?{

e.printStackTrace();

}

return?answer;

}

public?static?void?execPy()?{

Process?proc?=?null;

try?{

proc?=?Runtime.getRuntime().exec("python?"?+?PY_URL);

proc.waitFor();

}?catch?(IOException?e)?{

e.printStackTrace();

}?catch?(InterruptedException?e)?{

e.printStackTrace();

}

}

//?測試碼

public?static?void?main(String[]?args)?throws?IOException,?InterruptedException?{

writeImagePath("D:\\labs\\mytest\\test.jpg");

execPy();

System.out.println(readAnswer());

}

}

實際上就是通過Java執行一個命令行指令。

pb調用jar包的方法

您好,調用jar包的方法是指在Java語言中,通過使用Java Archive(JAR)文件來調用類庫中的方法,從而實現某些功能。JAR文件是一種將多個文件打包成一個文件的壓縮文件,它可以包含Java類、資源文件和元數據文件。

要調用JAR文件中的方法,可以使用Java的ClassLoader類,它可以加載JAR文件中的類,然后使用反射機制來調用JAR文件中的方法。

此外,還可以使用Java的URLClassLoader類來加載JAR文件中的類,然后使用反射機制來調用JAR文件中的方法。

最后,還可以使用Java的URLConnection類來加載JAR文件中的類,然后使用反射機制來調用JAR文件中的方法。

總之,調用JAR文件中的方法可以通過使用Java的ClassLoader類、URLClassLoader類和URLConnection類來實現,并且使用反射機制來調用JAR文件中的方法。

java 中常用五大包有哪些?

常用的五個

java.lang.*

提供利用 Java 編程語言進行程序設計的基礎類。最重要的類是 Object(它是類層次結構的根)和 Class(它的實例表示正在運行的應用程序中的類)。

java.util.*

包含集合框架、遺留的 collection 類、事件模型、日期和時間設施、國際化和各種實用工具類(字符串標記生成器、隨機數生成器和位數組、日期Date類、堆棧Stack類、向量Vector類等)。集合類、時間處理模式、日期時間工具等各類常用工具包

java.io.*

Java的核心庫java.io提供了全面的IO接口。包括:文件讀寫、標準設備輸出等。Java中IO是以流為基礎進行輸入輸出的,所有數據被串行化寫入輸出流,或者從輸入流讀入。

java.net.*

并非所有系統都支持 IPv6 協議,而當 Java 網絡連接堆棧嘗試檢測它并在可用時透明地使用它時,還可以利用系統屬性禁用它。在 IPv6 不可用或被顯式禁用的情況下,Inet6Address 對大多數網絡連接操作都不再是有效參數。雖然可以保證在查找主機名時 java.net.InetAddress.getByName 之類的方法不返回 Inet6Address,但仍然可能通過傳遞字面值來創建此類對象。在此情況下,大多數方法在使用 Inet6Address 調用時都將拋出異常。

java.sql.*

提供使用 JavaTM 編程語言訪問并處理存儲在數據源(通常是一個關系數據庫)中的數據的 API。此 API 包括一個框架,憑借此框架可以動態地安裝不同驅動程序來訪問不同數據源。

Java如何調用Python的jar包?

Python - Native 代碼 整體思路 先將Python 源代碼轉換成 C 代碼,之后用 GCC 編譯 C 代碼為二進制模塊 so/dll,接著進行一次 Java Native 接口封裝,

網站欄目:java代碼調用什么包 java調用怎么寫
URL鏈接:http://vcdvsql.cn/article44/doiephe.html

成都網站建設公司_創新互聯,為您提供虛擬主機營銷型網站建設關鍵詞優化品牌網站建設移動網站建設搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網頁設計公司