2 回答

TA貢獻1829條經驗 獲得超7個贊
File在 Java 中使用 a 時,它必須指向操作系統文件系統上的物理文件。運行未打包的應用程序時就是這種情況,但是在運行時jar它不是物理文件,因此將無法工作(導致錯誤或空指針異常)
使用ResourceSpring的類之一來訪問資源。在這種情況下,因為它來自您想要使用的類路徑ClassPathResource。然后直接使用InputStream讀取文件。
Resource input = new ClassPathResource(“static/doc/modal/model.xls”);
InputStream in = input.getInputStream();
// Use InputStream to read file
這將作為打包和未打包的應用程序工作。不要使用,getFile因為這在打包時不起作用。

TA貢獻1817條經驗 獲得超6個贊
File xlsfile = new ClassPathResource("/doc/modal/model.xls").getFile();
//also check the path
//String currentPath = xlsfile .getAbsolutePath();
File newXls=new File("classpath:static/doc/temp");
newXls=xlsfile;
在評論中討論希望這可以幫助你。
添加回答
舉報