簡體   English   中英

從.jar文件啟動文本文件(文件路徑?)

[英]Launching a text file from a .jar file (File path?)

我正在嘗試使用Desktop.getDesktop()。open(file)從.jar文件啟動文本文件

String fileName = "file.txt";

URL url = getClass().getResource(fileName);
File fileToRead = new File(url.toURI());
Desktop.getDesktop().open(fileToRead);

為了簡單起見,我省略了try-catch塊。 從Eclipse運行時,它可以打開我的文件。 但是一旦導出到.jar文件,我就會在File fileToRead = new File(url.toURI());中得到NullPointerException

將類打包到.jar文件中時,通常會使它嵌套更深一層。

因此,您可以嘗試將第一行更改為:

String filename = "../file.txt";

查看Class.getResource(String)的JavaDoc:

使用以下算法從給定資源名稱構造絕對資源名稱:

如果名稱以“ /”開頭,則資源的絕對名稱是名稱中“ /”之后的部分。 否則,絕對名稱的格式如下: modified_package_name/name其中modified_package_name是此對象的程序包名稱,用“ /”代替“。”。

參數:

名稱-所需資源的名稱

返回:URL對象;如果找不到具有該名稱的資源,則返回null

找不到您的資源,因此出現NullPointerException。 按照JavaDoc的描述指定JAR中的路徑(以'/'開頭或相對於this的類的絕對路徑,您要在其上調用getClass().getResource(fileName) )應該得到它。

暫無
暫無

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

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