Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static String[] getClasses(String pckgname) {
- try {
- java.util.ArrayList<String> classes = new java.util.ArrayList<String>();
- // Get a File object for the package
- File directory = null;
- try {
- ClassLoader cld = Thread.currentThread().getContextClassLoader();
- if (cld == null) {
- throw new ClassNotFoundException("Can't get class loader.");
- }
- String path = pckgname.replace('.', '/');
- URL resource = cld.getResource(path);
- if (resource == null) {
- throw new ClassNotFoundException("No resource for " + path);
- }
- directory = new File(resource.getFile());
- } catch (NullPointerException x) {
- throw new ClassNotFoundException(pckgname + " (" + directory
- + ") does not appear to be a valid package");
- }
- if (directory.exists()) {
- // Get the list of the files contained in the package
- String[] files = directory.list();
- for (int i = 0; i < files.length; i++) {
- // we are only interested in .class files
- if (files[i].endsWith(".class")&&!findText(files[i],"$")) {
- // removes the .class extension
- classes.add(files[i].substring(0,files[i].length()-6));
- // classes.add(Class.forName(pckgname + '.'
- // + files[i].substring(0, files[i].length() - 6)));
- }
- }
- } else {
- throw new ClassNotFoundException(pckgname
- + " does not appear to be a valid package");
- }
- String[] classesA = new String[classes.size()];
- classes.toArray(classesA);
- return classesA;
- }catch(Exception e) {
- e.printStackTrace();
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement