Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mendapatkan Sumber dengan Cekap daripada Direktori Classpath Java?
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!