我正在尝试从测试/资源中读取用于测试的 excel 文件,但我不断得到FileNotFoundException
.我尝试了这两种方法,似乎都给出了相同的FileNotFoundException
.
File decisionConfig=new File("src/test/resources/mapping.xls");
File decisionConfig=new File("classpath:test/resources/mapping.xls");
你可以试试这个:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = classLoader.getResourceAsStream("test/resources/mapping.xls");
只要test
目录位于src
文件夹中,这应该根据ClassLoader
获取文件。这将获取文件的InputStream
。
*********************************更新************************************对于File
对象:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
File file = new File(classLoader.getResource("test/resources/mapping.xls").toString());
我不确定你到底想用这个文件做什么,但对于Microsoft Office 文件,我喜欢使用 Apache POI https://poi.apache.org/
FileInputStream file = new FileInputStream(new File("test/resources/mapping.xls"));
//Get the workbook instance for XLS file
HSSFWorkbook workbook = new HSSFWorkbook(file);
//Get first sheet from the workbook
HSSFSheet sheet = workbook.getSheetAt(0);