2017-06-02 137 views
1

我開發了一個ExcelReader/Writer程序,用於在其他計算機上運行。在這個程序中,它需要一個硬數據的excel.xls,讀取它並以格式化的方式將其寫入excel.xlsx文件,然後將其保存在「CoC-Forms」目錄中。包括一個Excel文件和調用一次打包到一個罐子裏

爲了減少運行我的程序的步驟,我已經包含了在項目中寫入的空文件.xlsx。但是,將其導出到可執行jar(以在其他計算機上運行)時,我似乎無法訪問此空表單。我知道這可能是一個非常簡單的答案,但我一直堅持一整個工作日,並完全停止了我的進步。

這是我的環境片段。左邊是我在Intellij中的Project目錄(CoC.xlsx是空表格),右邊的高亮部分是我嘗試訪問文件的位置以及錯誤發生的位置。

JOptionPane.showMessageDialog(null,"About to look for CoC"); 
    //fileFrom = new File(s + "/out/production/XML Reader/CoC.xlsx"); 
    //fileFrom = new File("/XML Reader/out/production/XML Reader/CoC.xlsx"); 
    //fileFrom = new File("CoC.xlsx"); 
    //fileFrom = new File(ExcelWriter.class.getResource("CoC.xlsx").getPath()); 
    CodeSource src = ExcelWriter.class.getProtectionDomain().getCodeSource(); 
    /*if (src != null) { 
     URL url = new URL(src.getLocation(), "CoC.xlsx"); 
     fileFrom = new File() 
     System.out.println(url); 
    } else { 
     JOptionPane.showMessageDialog(null,"Failed"); 
    } */ 

    fileFrom = new File(new File("."), "CoC.xlsx"); 
+0

請將您的代碼發佈在代碼塊中,而不是使用屏幕截圖。 –

+0

@lukegv道歉,新的SO,仍然試圖找出所有格式 – spaff

+0

我改變了你的標題和相關的標籤,因爲它看起來太模糊。祝新年好運! PS:你有沒有試過在你的jar中的完整路徑? –

回答

0

我通過使人們下載整個項目文件夾解決我的問題,文件從執行點../../引用,然後深入到文件路徑,找到位置,在我放置該文件。搗亂,但它運作並解決了問題。