Rumah  >  Artikel  >  Java  >  Bagaimana untuk Memuatkan Sumber dari Fail JAR di Java?

Bagaimana untuk Memuatkan Sumber dari Fail JAR di Java?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 14:56:01274semak imbas

How to Load Resources from a JAR File in Java?

Muat Sumber Yang Terkandung dalam Balang

Di Java, memuatkan sumber adalah penting untuk mengakses fail statik seperti imej, klip bunyi dan fail konfigurasi. Apabila sumber disimpan dalam fail JAR (Arkib Java), mengaksesnya boleh menjadi mencabar.

Satu pendekatan biasa untuk memuatkan sumber ialah menggunakan getResource. Walau bagaimanapun, seperti yang diterangkan dalam soalan, kaedah ini mengembalikan laluan berbeza bergantung pada sama ada aplikasi dijalankan daripada IDE atau fail JAR.

Untuk memintas isu ini, anda dinasihatkan untuk menggunakan getResourceAsStream sebaliknya. Kaedah ini mengembalikan InputStream yang membenarkan akses terus kepada kandungan sumber. Berikut ialah contoh:

InputStream inputStream = this.getClass().getResourceAsStream("/repository");

Dengan InputStream, anda boleh memanfaatkan kaedah seperti baca dan readAllBytes untuk mendapatkan semula kandungan sumber.

Sebagai alternatif, anda boleh menetapkan secara langsung sifat sistem menggunakan kandungan sumber, sebagai seperti:

System.setProperty("javax.net.ssl.trustStore", this.getClass().getResource("/truststore").toString());

Perhatikan bahawa penyelesaian ini menganggap sumber tidak terletak secara fizikal dalam fail berasingan pada sistem fail. Jika demikian keadaannya, anda mungkin perlu mengendalikan pengekstrakan dan penyimpanan sumber daripada fail JAR sebagai sebahagian daripada proses permulaan aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Memuatkan Sumber dari Fail JAR di Java?. 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