2014-08-27 197 views
0

我已經創建了一個帶有eclipse的可運行jar。在我的項目中,我有一個名爲問卷的文件夾,其中包含一些我使用的文本文件。當我運行我的可運行jar時,它不起作用,除非我在與jar文件夾問卷相同的文件夾中。我嘗試了一些解決方案,例如將文件夾問卷添加爲源文件夾以及屬性 - > java構建路徑 - >庫 - >添加類文件夾並添加問卷文件夾,但仍無法使用。Eclipse導出文件jar不包含文件夾

這是代碼:

File srcFolder = new File(".\\questionnaire"); 
if(!srcFolder.exists()){ 

    System.out.println("Directory does not exist."); 
    //just exit 
    System.exit(0); 

} 

每一次我得到的消息「目錄不存在」。另外,當我解壓縮jar時,沒有文件夾問卷

+0

將文件夾設置爲源文件夾是正確方向的一個步驟。當你從eclipse執行它時,程序是否工作? – ToasteR 2014-08-27 11:57:28

+0

是的,當我從日食中執行它的時候就起作用了。所以我認爲jar不包含文件夾,這是問題 – user1431148 2014-08-27 12:01:46

+0

Eclipse默認將二進制文件打包到bin文件夾中,並將jar清單中的類路徑設置爲該bin文件夾。在構建配置中將'/'添加到你的類路徑中。 – 2014-08-27 12:02:47

回答

2

要將文件夾「問卷調查」添加到jar中,需要將「questionnaire」的父目錄設爲作爲源文件夾。

然後,你會有一個問卷「文件夾」到你的jar中。但是,您將無法通過File API訪問它,因爲它不會是常規文件夾,而是進入您的jar的。如果您只需要從該文件夾讀取文件,請查看Class.getRessourceAsStream(String)方法。

1

在jar中導出文件夾不是一個好主意。此外,如果以某種方式導出文件夾,則無法訪問文件夾的文件。您需要使用JarFile類來讀取文件夾的內容。

你可以做的一件事就是創建沒有文件夾的罐子。 使用此行

File srcFolder = new File("questionnaire"); 

,當你運行jar確保罐子和調查問卷的文件夾都是在同一個目錄。這將有效地工作。

閱讀本文thread