getResourceAsStream Mengembalikan Null Apabila Memuatkan Sumber daripada JAR
Apabila cuba memuatkan fail teks daripada pakej JAR menggunakan Class::getResourceAsStream, anda mungkin menghadapi nilai pulangan nol. Untuk menyelesaikan isu ini, pertimbangkan perkara berikut:
Kaedah Lifepaths.class.getClass().getResourceAsStream(...) menggunakan pemuat kelas sistem, yang mungkin tidak mempunyai akses kepada sumber dalam JAR. Sebaliknya, gunakan Lifepaths.class.getResourceAsStream(...) untuk menggunakan pemuat kelas yang memuatkan kelas Lifepaths, memastikan akses kepada sumber JAR.
Apabila menggunakan getResourceAsStream(nama), pastikan nama itu bermula dengan garis miring ke hadapan "/". Amalan ini biasanya disyorkan untuk mengelakkan isu yang berpotensi.
Berikut ialah contoh kod yang diperbetulkan:
public static void execute() { System.out.println(Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt")); }
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!