[英]Reading file from within JAR not working on windows
我正在嘗試從一個打包在JAR中的文件以及讀取它的類中讀取。 為此,我使用以下內容:
getClass().getClassLoader().getResourceAsStream(file)
這在我在OSX上創建和運行JAR文件時工作正常,但如果我在Windows上創建並運行JAR文件,則上面的行返回null。
我在這里錯過了什么嗎? 如果我在OSX上創建JAR並在Windows上運行它可以正常工作。 只有在Windows上創建JAR時才會出現此問題。
編輯:值得一提的是,JAR文件中沒有文件夾層次結構。 一切都存儲在一個級別,因此讀取文件的類和文件本身都在同一目錄中。 另外,這是我在OSX和Windows上創建JAR文件的方式:
jar -cmf manifest.mf run.jar *.class file1 file2
編輯2:我試圖加載的文件是一個java .properties文件。 我認為這不是造成這個問題的原因嗎?
跳過類加載器部分。 只是getClass()。getResource ....
試試這種方式getClass()。getResourceAsStream(“/ file1”)。
使用文件分隔符時,不要硬編碼! 請改用java.io.File.separator: http : //docs.oracle.com/javase/7/docs/api/java/io/File.html#separator
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.