簡體   English   中英

打開位於Java jar目錄而非當前工作目錄中的文件

[英]Opening files located in Java jar directory, not Current Working Directory

我有一個用NetBeans開發的Java桌面應用程序 ,我將其壓縮以分發給學生。 在此zip文件中,我具有.jar ,一個包含swing-layout jar的“ lib”目錄和一個名為“ sourcefiles”的目錄,該目錄包含該程序所需的所有文本文件。

所有工作正常,如果jar文件被雙擊,但在命令行中運行時( java -jar MyApp.jar ),它只能找到“sourcefiles”目錄下 ,如果你的第一張CD到該文件是在運行之前所在的目錄命令,有些學生忘記做的事情。 顯然,無法從我的代碼中更改當前工作目錄。 假設我位於MyApp文件夾中,則在我的代碼中將“ sourcefiles”的路徑作為相對路徑給出。 那么,我該怎么做才能使該程序可以從命令行運行而無需CD到包含目錄? 是否有將其添加到清單文件的東西?

使用Linux的學生通常會遇到此問題,但在Mac上也是一樣。 我認為在Windows上是相同的,但是我猜沒有Windows的學生從命令行運行它。

您不能更改默認目錄,但是可以獲取該類正在其上運行的Jar的目錄,並將其在代碼中用作基本路徑。

String jarLocation = ThisClass.class.getProtectionDomain()
                         .getCodeSource().getLocation().getPath();

通過此操作,您可以獲取jar所在的目錄。很可能您希望將其包裝為學生可以調用的方法。

暫無
暫無

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

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