[英]Can't find classpath resource in JAR (No such file or directory)
我正在嘗試讀取一個文件,該文件已作為類路徑中的資源提供
FileInputStream serviceAccount = new FileInputStream("firebase-service-account.json");
我已經嘗試過絕對地通過完整路徑訪問資源,並且作為流沒有任何作用。
我的目標文件結構如下所示:
當我打開JAR時,我可以看到資源已正確捆綁,盡管我不確定它們是否正在流式傳輸。
如何訪問我的資源?
Exception in thread "main" java.io.FileNotFoundException: java.io.BufferedInputStream@27d6c5e0 (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileInputStream.<init>(FileInputStream.java:93)
at com.lumos.xlsx_manager.es.da.Firebase.main(Firebase.java:146)
您可以嘗試這樣的操作,假設您只需要InputStream,而不需要FileInputStream
:
InputStream serviceAccount = null;
try{
File f = new File("firebase-service-account.json");
if (f.exists()){
serviceAccount = new FileInputStream(f);
} else {
URL url = this.getClass().getResource("firebase-service-account.json");
serviceAccount = url.openConnection().getInputStream();
}
//Now do whatever you are doing with the InputStream...
}catch (Exception e){
e.printStackTrace();
} finally{
if (serviceAccount != null) {
try {
serviceAccount .close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.