gpt4 book ai didi

JavaEE - WAR - 已部署::如何从资源目录读取文件

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:15 24 4
gpt4 key购买 nike

<分区>

我认为应该执行此操作的“正确”方法是 getResourceAsStream() 但它似乎并没有削减它。

我的情况:

我有一个 Java 网络应用程序,最终将部署到几个不同的网络服务器上,可能是 GlassFishTomcatWildFly。目前我正在使用 Netbeans 在 Mac 上工作,我可以访问 WildFlyGlassFish。项目被mavenized了

我需要做的是读写两个不同的Excel文件。一个用作"template",一个用作输出文件。该应用程序以前是独立运行的,我正试图将其包装到一个 JSF 网站中。

我需要为其中一种方法获取 FileInputStream,并最终创建一个输出文件,该文件将通过 http 返回给用户。

据我所知,执行此操作的适当方法应该是:

XLSX 文件

/src/main/resources/ANALYSIS_template.xlsx

编译成WAR文件后的位置::WildFly

/usr/local/opt/wildfly-as/libexec/standalone/deployments/fleetForecast-1.0-SNAPSHOT.war/WEB-INF/classes/ANALYSIS_template.xlsx

Location once compiled into WAR file::GlassFish

~/devel/fleetforecast/target/fleetForecast-1.0-SNAPSHOT/WEB-INF/classes/ANALYSIS_template.xlsx

Java 代码

我想我可能已经设法使用以下命令将输入​​流获取到文件:

InputStream is1 = getClass().getResourceAsStream("ANALYSIS_template.xlsx");

我也尝试过 ("/ANALYSIS_template.xlsx") ,其行为类似。当我尝试从这个输入流中读取时

try {
is1.read();
} catch (IOException ex) {
Logger.getLogger(FleetBean.class.getName()).log(Level.SEVERE, null, ex);
}

我得到一个 java.lang.NullPointerException

Caused by: java.lang.NullPointerException
at org.mitre.fleetforecast.bean.FleetBean.<init>(FleetBean.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:433)
at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
... 76 more

我们将不胜感激提供或想到的任何帮助。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com