Java 如何生成需要InputStream的bean

Java 如何生成需要InputStream的bean,java,inputstream,cdi,weld,Java,Inputstream,Cdi,Weld,我尝试使用ApachePOI读取Excel文件。该项目使用CDI。所以我需要注入一个处理程序。此处理程序需要一个SharedStringTable作为构造函数参数。所以我的构造函数看起来像这样 @Inject public Handler(SharedStringTable sst) { this.sst = sst } 我已经开始为SharedStringTable编写生产者,但是这个对象需要生成inputStream 这是我为制作人准备的代码: @Produces public S

我尝试使用ApachePOI读取Excel文件。该项目使用CDI。所以我需要注入一个处理程序。此处理程序需要一个SharedStringTable作为构造函数参数。所以我的构造函数看起来像这样

@Inject
public Handler(SharedStringTable sst) {
    this.sst = sst
}
我已经开始为SharedStringTable编写生产者,但是这个对象需要生成inputStream

这是我为制作人准备的代码:

@Produces
public SharedStringTable gets(InjectionPoint ip) {
    // How i can get this InputStream?
    OPCPackage pkg = OPCPackage.open(is);
    is.close();
    XSSFReader r = new XSSFREADER(pkg)
    SharedStringTable sst = r.getSharedStringTable();
    return sst;     
}

有人想帮我吗

这取决于您如何以及何时获得实例化输入流的信息。你能提供更多关于这一点的信息吗?项目使用Strut1,inputStream来自传递给Struct操作的表单。