Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mendapatkan Sumber dengan Cekap daripada Direktori Classpath Java?

Bagaimanakah Saya Boleh Mendapatkan Sumber dengan Cekap daripada Direktori Classpath Java?

Linda Hamilton
Linda Hamiltonasal
2024-12-13 21:50:12697semak imbas

How Can I Efficiently Retrieve Resources from a Java Classpath Directory?

Dapatkan Senarai Sumber daripada Direktori Classpath

Pengenalan

Mendapatkan senarai sumber daripada direktori classpath yang ditentukan ialah tugas biasa dalam pengaturcaraan Java. Pelbagai perpustakaan dan teknik boleh dimanfaatkan untuk mendapatkan semula sumber ini dengan cekap.

Pelaksanaan Perpustakaan Sedia Ada

Rangka Kerja Spring
Rangka Kerja Spring menyediakan PathMatchingResourcePattern kelas yang boleh menyelesaikan sumber menggunakan corak laluan seperti Semut. Contohnya:

ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("classpath:/x/y/z/*");

Ronmamo Reflections
Ronmamo Reflections menawarkan pendekatan yang lebih pantas dengan prapengumpulan carian pada masa penyusunan, mengurangkan overhed prestasi masa jalan untuk laluan kelas yang besar.

Reflections reflections = new Reflections("x.y.z");
Set<String> resources = reflections.getResources(Pattern.compile(".*"));

Tersuai Pengimbas
Mencipta pengimbas tersuai ialah kaedah mudah untuk mendapatkan sumber. Ia melibatkan merentasi laluan kelas menggunakan kaedah getResourceAsStream(). Walau bagaimanapun, ia mungkin tidak secekap penyelesaian di atas, terutamanya untuk fail JAR.

List<String> resources = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new InputStreamReader(getResourceAsStream("x/y/z")))) {
  String resource;
  while ((resource = br.readLine()) != null) {
    resources.add(resource);
  }
} catch (IOException e) {
  // handle exception
}

Pertimbangan Pelaksanaan

Pilihan pelaksanaan bergantung pada keperluan khusus dan pertimbangan prestasi. Untuk laluan kelas yang lebih kecil dan penggunaan yang jarang berlaku, pengimbas tersuai mungkin mencukupi. Untuk laluan kelas yang lebih besar atau keperluan masa nyata, menggunakan perpustakaan Spring atau Reflections adalah disyorkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Sumber dengan Cekap daripada Direktori Classpath 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