簡體   English   中英

從JAR中讀取文件不在Windows上工作

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

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