![](/img/trans.png)
[英]Reading from src/main/resources gives NullPointerException
[英]Reading file from /src/main/resources gives exception FileNotFound
我的項目具有以下結構:
KnitProject - Project Name
/src/main/java/com/knit/controller/File1.java
/src/main/resources/data/read.txt
在File1.java中,我嘗試獲取read.txt的路徑,該路徑位於/ src / main / resources文件夾中。
Main.java
=========
Server server = new Server(8585);
.....
.....
server.start();
server.join();
File1.java
==========
URL url = Encrypter.class.getResource("/data/read.txt");
System.out.println(url.getFile()); //This prints "C:/Users/KnitProject/target/classes/data/read.txt" which is working locally from my system
當我在Tomcat上( ie http://<ip>:8080, /src/main/resources path is not accessible.
部署此jar時, ie http://<ip>:8080, /src/main/resources path is not accessible.
System.out.println(url.getFile()); //This prints "http://<ip>:8080/test/target/KnitProject.jar!/data/read.txt.
嘗試使用讀取文件時
FileInputStream fileInputStream = new FileInputStream(new File(url.getFile())) ---> gives me error FileNotFound Exception when deployed in Tomcat
我創建了一個KnitProject應用程序jar並將其部署在Tomcat中。 誰能幫我我在做什么錯。 / src / main / resources /可從我的本地計算機訪問,並且相同的代碼給出錯誤FileNotFound Exception 。
如何讀取/ src / main / resources / data下的文件。 我在代碼中使用Embedded Jetty服務器,並且將其編譯並構建為一個Jar,然后部署在Tomcat中。 我正在使用JNLP運行jar。
您可以使用resourceAsStream
方法從jar中讀取文件
InputStream stream = Encrypter.class.getResourceAsStream(filePath)
現在,通過此流,您可以繼續
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.