getResouce或getResource方法返回null

时间:2017-03-09 15:21:22

标签: java excel file packages

我在与ExcelReader.java

相同的包中有一个Sample.xslx

我试图读取这样的文件

URL url = ExcelReader.class.getClassLoader().getResource("com/.../Sample.xlsx");

url为空。

我尝试过的事情

FileInputStream is  = getClass().getResourceAsStream("com/.../Sample.xlsx");

我也试过

File f = new File("....");
f.getAbsoluteFile(); 

但是,这会选择我的eclipse安装路径。我的项目实际上位于另一个文件夹中。

1 个答案:

答案 0 :(得分:0)

你可以做到

ExcelReader.class.getClass().getResourceAsStream("Sample.xlsx");

来自.getClass().getResourceAsStream documentation

  

在委托之前,使用此算法从给定的资源名称构造绝对资源名称:

     

如果名称以' /'开头。 (' \ u002f'),然后是绝对名称   资源是' /'后面的名称部分。除此以外,   绝对名称的格式如下:modified_pa​​ckage_name / name   其中modified_pa​​ckage_name是此对象的包名称   用' /'取代'。' (' \ u002e&#39)。

如果从'/'开始,它将从root开始,否则它将相对于当前目录。