簡體   English   中英

將包含數據的Java代碼發送到.jar中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM