Mengakses Fail XML dalam Fail JAR daripada Aplikasi Desktop Java
Dalam senario ini, anda cuba mengakses fail XML dalam Fail JAR daripada JAR berasingan berjalan sebagai aplikasi desktop. Walaupun anda telah berjaya memperoleh URL ke fail, menghantarnya ke FileReader menggunakan String menghasilkan FileNotFoundException.
Walau bagaimanapun, anda telah dapat membaca sumber imej dari JAR yang sama menggunakan URL dengan ImageIcon pembina. Ini menunjukkan bahawa kaedah yang anda gunakan untuk mendapatkan URL adalah betul.
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml"); // ...
Isu timbul apabila cuba menghuraikan fail XML:
XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler( this ); xr.setErrorHandler( this ); xr.parse( new InputSource( new FileReader( filename )));
Penyelesaian:
Kaedah yang salah untuk membaca fail XML menggunakan FileReader( nama fail ). Untuk membetulkan ini, gunakan kaedah java.lang.Class.getResourceAsStream(String). Ia menyediakan InputStream untuk sumber yang ditentukan oleh namanya, membolehkan anda membaca fail XML.
URL url = getClass().getResourceAsStream("/xxx/xxx/xxx/services.xml"); // ...
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Fail XML yang Dibenamkan dalam JAR daripada Aplikasi Desktop Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!