簡體   English   中英

在Java中使用資源文件

[英]Using resource files in Java

我剛剛開始使用“ Java資源文件”,我有幾個問題...

  1. 我希望將程序分發給其他人,並且我認為JAR文件不是最好的方法。 我可能會通過“轉換為exe”來解決這個問題嗎? 有什么限制?
  2. 如果我轉換為exe,是否保留資源文件?
  3. 我實際上只是在嘗試使用資源文件。 該文件是一個文本文件,只會保存某些文件的用戶目錄,因此他們不需要在每次打開程序時進行設置。 這是最好的解決方法嗎?
  4. 您如何在代碼本身中引用資源文件?

這是我所做的。 創建了一個新的資源文件,由於我正在使用Netbeans,因此可以在導航器的“文件”選項卡下看到其位置,如下所示:

  • 主項目
    1. 建立
    2. 我的課
    3. 資源
      • directory.txt

這是我嘗試訪問它的方式,但是當我調試它時,它返回null。

private void getPaths()//todo
{   

try
{
 InputStream is = getClass().getResourceAsStream("/resources/directories.txt");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) 
{
    System.out.println(line);
}
br.close();
isr.close();
is.close();
}
 catch(Exception e)
  {

    }
}

“轉換為EXE”只是說“將Jar文件包裝到可執行容器中”的一種奇特的方式

“不是我認為JAR文件不是最好的方法” 有時會提供特定於操作系統的啟動程序的方法,但這並不總是最好的解決方案。

“限制是什么?” 好吧,首先,您將自己限制在一個平台上。 對於Mac,您需要將應用程序捆綁到“應用程序”捆綁包中。 對於Linux,我認為大多數人都提供腳本來啟動其代碼。

您也可能將自己限制在特定的位深度。 如果您提供的只是x32位可執行文件,那么您將只能在x32位環境中運行。 這可能不是問題,但是您要限制可用內存的開頭...

因此,是的,通常,您的資源文件將是安全的。

通常嵌入資源文件。 您在第3部分中描述的內容更類似於配置文件。 該文件需要存儲在文件系統中(在exe / jar的外部),以便可以輕松進行更新。

“您如何在代碼本身中引用資源文件?”

對於嵌入式資源,您需要使用getClass().getResource(...) 對於您的配置文件,我會說和其他文件一樣...

我還要看看部署的建議機制的一些想法部署Java程序,

Jar是分發的理想格式。 您可以轉換為exe,但是用戶仍然需要安裝JVM才能運行它。 如果安裝了JVM並且jar具有格式正確的清單文件,則可以通過雙擊執行jar。

您可以從JVM,文本,二進制文件,XML,屬性文件等打開任何文件。

要保存用戶設置,一個不錯的選擇是屬性文件-請參見http://www.mkyong.com/java/java-properties-file-examples/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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