Rumah >Java >javaTutorial >Mengapakah `getResourceAsStream` Kembali Null Apabila Mengakses Sumber dalam JAR, dan Bagaimana Saya Boleh Membetulkannya?

Mengapakah `getResourceAsStream` Kembali Null Apabila Mengakses Sumber dalam JAR, dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 22:24:28797semak imbas

Why Does `getResourceAsStream` Return Null When Accessing Resources in a JAR, and How Can I Fix It?

Menyelesaikan Output Null getResourceAsStream

Apabila cuba mendapatkan semula fail teks dari dalam JAR berpakej menggunakan Class::getResourceAsStream mengembalikan nol, ia menunjukkan isu dengan mekanisme pemuatan sumber. Penyelesaian berikut menangani masalah ini:

  1. Pemuatan Sumber Diubahsuai: Daripada menggunakan Lifepaths.class.getClass().getResourceAsStream(...), yang menggunakan pemuat kelas sistem (yang selalunya tidak mempunyai keterlihatan ke dalam sumber yang dibungkus), gunakan Lifepaths.class.getResourceAsStream(...) secara langsung. Ini memastikan bahawa sumber dimuatkan oleh pemuat kelas yang memuatkan Lifepaths, membenarkannya mengakses sumber yang dibungkus.
  2. Leading Slash: Apabila menentukan laluan sumber dalam getResourceAsStream(name), ia adalah penting untuk memberi awalan dengan garis miring ke hadapan (/). Ini tidak selalu diperlukan tetapi telah diperhatikan untuk menyelesaikan isu yang berpotensi.

Dengan melaksanakan pengubahsuaian ini, kod yang disediakan harus berjaya memuatkan dan mencetak kandungan fail teks dari dalam pakej JAR.

Atas ialah kandungan terperinci Mengapakah `getResourceAsStream` Kembali Null Apabila Mengakses Sumber dalam JAR, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn