Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Mengakses Laluan Sumber Di Dalam Fail JAR Java?

Bagaimanakah Saya Boleh Mengakses Laluan Sumber Di Dalam Fail JAR Java?

Barbara Streisand
Lepaskan: 2024-12-18 00:07:11
asal
237 orang telah melayarinya

How Can I Access Resource Paths Inside a Java JAR File?

Mendapatkan semula Laluan Sumber dalam Fail JAR Java

Di Java, mengakses sumber yang dibungkus dalam fail JAR boleh mencabar. Walaupun penstriman kandungan sumber adalah mudah, mendapatkan laluan fail yang boleh diakses mungkin sukar difahami.

Satu pendekatan cuba mencipta objek Fail menggunakan kaedah getResource:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
Salin selepas log masuk

Walau bagaimanapun, ini selalunya gagal dengan a FileNotFoundException, kerana sumber mungkin tidak mempunyai fail yang sepadan pada fail sistem.

Memahami Konsep Sumber

Fail JAR menggabungkan sumber dalam arkib, yang mungkin tidak boleh diakses secara langsung sebagai fail fizikal. Pemuat kelas mengendalikan pemuatan sumber dan boleh menyediakan akses melalui strim.

Alternatif: Penstriman Kandungan Sumber

Untuk mengakses kandungan sumber tanpa laluan fail, gunakan:

ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
Salin selepas log masuk

Pilihan Fail Sementara

Jika Objek fail amat diperlukan, pertimbangkan untuk menyalin strim ke dalam fail sementara:

InputStream resourceStream = classLoader.getResourceAsStream("config/netclient.p");
File tempFile = File.createTempFile("resource", ".tmp");

try (OutputStream outputStream = new FileOutputStream(tempFile)) {
    resourceStream.transferTo(outputStream);
}
Salin selepas log masuk

Setelah disalin, anda boleh memanipulasi fail sementara mengikut keperluan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Laluan Sumber Di Dalam Fail JAR Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan