簡體   English   中英

從/ src / main / resources讀取文件會給出FileNotFound異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM