[英]Shipping Java code with data baked into the .jar
我需要發布一些具有相關數據集的Java代碼。 它是設備的模擬器,我希望能夠在一個.JAR文件中包含用於模擬記錄的所有數據。 在這種情況下,每個模擬記錄包含四個字段(主叫方,被叫方,呼叫開始,呼叫持續時間)。
最好的方法是什么? 我已經沿着生成數據的路徑走向了Java語句,但IntelliJ似乎並不特別高興處理100,000行Java源文件!
有更聰明的方法嗎?
在C#/ .NET世界中,我將數據創建為單獨的文件,將其作為資源嵌入到程序集中,然后使用反射在運行時將其拉出並訪問它。 我不確定Java世界中適當的比喻是什么。
FWIW,Java 1.6,適用於Solaris。
在JAR中包含靜態資源文件是完全可以的。 這通常使用屬性文件來完成。 您可以使用以下內容訪問資源:
Class.getResourceAsStream ("/some/pkg/resource.properties");
其中/是相對於類路徑的根。
本文討論主題智能加載您的屬性 。
當然,只需將它們包含在你的罐子里即可
InputStream is = this.getClass().getClassLoader().getResourceAsStream("file.name");
如果你把它們放在一些文件夾下,比如“數據”那么就可以了
InputStream is = this.getClass().getClassLoader().getResourceAsStream("data/file.name");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.