Rumah >Java >javaTutorial >Mengapakah getResourceAsStream() Mengembalikan Null Apabila Memuatkan Sumber daripada JAR?
Apabila cuba memuatkan fail teks daripada JAR berpakej, menggunakan Class::getResourceAsStream untuk mendapatkan InputStream mungkin mengakibatkan pengecualian penunjuk nol. Untuk membetulkannya, pertimbangkan pendekatan berikut:
Pastikan Laluan yang Betul:
Sahkan bahawa laluan yang disediakan ke fail sepadan dengan struktur dalaman JAR itu. Sahkan bahawa garis miring (/) di hadapan disertakan dan nama fail adalah betul.
Gunakan Pemuat Kelas yang Betul:
Oleh lalai, Lifepaths.class.getClass().getResourceAsStream(...) menggunakan pemuat kelas sistem, yang mungkin tidak mempunyai akses kepada sumber dalam JAR itu. Sebaliknya, gunakan Lifepaths.class.getResourceAsStream(...), yang memanfaatkan pemuat kelas yang memuatkan kelas Lifepaths, menyediakan akses kepada sumber JAR.
Sertakan Leading Slash dalam Laluan Sumber:
Apabila menyeru getResourceAsStream(nama), laluan mesti bermula dengan garis miring ke hadapan (/). Ini adalah langkah penting untuk memastikan pemuatan sumber berjaya dari dalam JAR.
Atas ialah kandungan terperinci Mengapakah getResourceAsStream() Mengembalikan Null Apabila Memuatkan Sumber daripada JAR?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!