[英]Reading sub-directories of a directory in class path resources with Spring Boot
我試圖使用 Spring 引導讀取我的 class 路徑資源中目錄的子目錄(目錄名稱),代碼片段如下。
public List<File> getSubdirectories() {
File file = ResourceUtils.getFile("classpath:/database/scripts");
return Arrays.stream(file.listFiles()).filter(File::isDirectory).map(File::getFileName)
.collect(Collectors.toList());
}
現在,當我們從 IDE 運行此代碼時,這將運行良好。 但是,當我們將這個應用程序構建為 jar 並從那里運行它時,它會拋出FileNotFoundException 。
我也嘗試將目錄加載為 class 路徑資源。 但沒有找到任何運氣。
我目前正在使用 Java 8。所以我猜大多數 Java 7 解決方案都行不通。 有沒有其他方法可以解決這個問題?
根據 Spring 文檔ResourceUtils 將在框架內部使用
嘗試使用 Resource 代替:
@Value("classpath:database/scripts")
Resource directories;
或者,您可以使用資源加載器:
@Autowired
ResourceLoader resourceLoader;
...
public Resource loadDirectories() {
return resourceLoader.getResource(
"classpath:database/scripts");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.