慕無忌1623718
2019-07-05 15:36:29
如何從JavaJAR文件中讀取資源文件?我試圖從一個(gè)單獨(dú)的JAR文件中訪問一個(gè)XML文件,這個(gè)JAR是作為桌面應(yīng)用程序運(yùn)行的。我可以獲得我需要的文件的URL,但是當(dāng)我將它傳遞給FileReader(作為字符串)時(shí),我會(huì)得到一個(gè)FileNotFoundException,上面寫著“文件名、目錄名或卷標(biāo)簽語法不正確”。作為參考,我可以從同一個(gè)JAR中讀取圖像資源,將URL傳遞給ImageIcon構(gòu)造函數(shù)。這似乎表明我用來獲取URL的方法是正確的。URL url = getClass().getResource("/xxx/xxx/xxx/services.xml");ServicesLoader jsl = new ServicesLoader( url.toString() );在ServicesLoader類中XMLReader xr = XMLReaderFactory.createXMLReader();xr.setContentHandler( this );xr.setErrorHandler( this );xr.parse( new InputSource( new FileReader( filename )));使用這種技術(shù)讀取XML文件有什么問題?
3 回答

撒科打諢
TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
getResourceAsStream()

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
URL.toString
FileReader
URL.toString
url.toURI().toString()
通過 URL
到 ServicesLoader
讓它召喚 openStream
或者類似的。 使用 Class.getResourceAsStream
然后穿過溪流,可能在一個(gè) InputSource
..(請(qǐng)記住檢查空值,因?yàn)锳PI有點(diǎn)混亂。)
添加回答
舉報(bào)
0/150
提交
取消