我已经开发了打算在其他计算机上运行的ExcelReader / Writer程序。在此程序中,它接收一个excel.xls硬数据,将其读取并以格式化的方式将其写入excel.xlsx文件,然后将其保存在目录“ CoC-Forms”中。

为了减少运行程序的步骤,我将空的.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");

最佳答案

通过让人们下载整个项目文件夹,从执行点开始使用../../引用文件,然后更深入地查找文件路径以查找放置文件的位置,我解决了我的问题。断断续续,但它可以解决问题。

10-04 12:16
查看更多