从singleton打开文件

时间:2014-09-07 17:55:01

标签: java web

我尝试在单例中读取excel文件,因此只加载一次。 excel文件和单例存在于同一个包中,但getResourceAsStream返回null

我能错过什么?

public static synchronized HSSFWorkbook getUniqueInstance(String fileStr) {

    if (sInstance == null) {
        try {
            InputStream file = WBSingleton.class.getResourceAsStream(fileStr);
            sInstance = new HSSFWorkbook(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    return sInstance;

}

1 个答案:

答案 0 :(得分:0)

试试这个

WBSingleton.class.getClassLoader().getResourceAsStream(fileStr);

您也可以尝试

URL url = getClass().getResource(fileStr); 
InputStream name = url.openStream();