Rumah >Java >javaTutorial >Mengapakah getResourceAsStream() Mengembalikan Null Apabila Memuatkan Sumber daripada JAR?

Mengapakah getResourceAsStream() Mengembalikan Null Apabila Memuatkan Sumber daripada JAR?

Susan Sarandon
Susan Sarandonasal
2024-12-31 08:35:16990semak imbas

Why Does getResourceAsStream() Return Null When Loading Resources from a JAR?

Menyelesaikan Isu getResourceAsStream() Apabila Mengembalikan Null

Apabila cuba memuatkan fail teks daripada JAR berpakej, menggunakan Class::getResourceAsStream untuk mendapatkan InputStream mungkin mengakibatkan pengecualian penunjuk nol. Untuk membetulkannya, pertimbangkan pendekatan berikut:

  1. 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.

  2. 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.

  3. 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!

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