簡體   English   中英

無法訪問src / main / resources /下的文件

[英]Can't get to a file located under src/main/resources/

我正在嘗試訪問位於資源下的文件並獲取null

 File propertiesFile = new File(this.getClass().getClassLoader().getResource(file).getFile());

file = Log.csv

即使文件直接在資源下或在其下的文件夾之一下。 this.getClass().getClassLoader().getResource(file) -返回null

this.getClass().getClassLoader().getResource(file).getFile()

捕獲直到resources文件夾的路徑,如果您在resources內部有文件夾,則必須提供該路徑以及文件名。

例如 -

resources -> folder -> test.csv

然后給文件名:

String file = "folder/test.csv";

希望這可以幫助!

資源不是文件系統上的實際File ,而是類路徑上的 可以將它們包裝在具有URL的jar中,例如"jar:file://.../xyz.jar!test.csv" 因此,使用InputStream。

InputStream in = getClass().getResourceAsStream("/test.csv");
String userHome = System.getProperty("user.home");
Path path = Paths.get(userHome, "test2.csv");
Files.copy(in, path, StandardCopyOption.REPLACE_EXISTING);

資源應被視為只讀 因此,請將它們用作模板,初始空文件,只讀數據等。

ClassLoader在根src / main / resources下只有絕對路徑,而沒有以/開頭。 類具有相對於類的包目錄的URL(但在src / main / resources下),或者以/絕對路徑開頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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