Get list of sub packages
28/01/2009
public static Package[] getSubPackages(Package pckg) throws IOException, ClassNotFoundException { // Translate the package name into an absolute path String name = "/" + pckg.getName().replace('.','/'); // Get a File object for the package URL url = Launcher.class.getResource(name); File directory = new File(url.getFile()); if (directory.exists()) { // Get the list of the files contained in the package File[] files = directory.listFiles(); ArrayList pckgs = new ArrayList(); for (int i=0; i<files.length;++i) { // we are only interested in .class files if (files[i].isDirectory()) { // removes the .class extension pckgs.add(Package.getPackage(pckg.getName()+"."+files[i].getName())); } } Package[] packages = new Package[pckgs.size()]; for (int i=0; i<pckgs.size();++i) packages[i] = (Package)pckgs.get(i); return packages; } else { throw new IOException("Invalid directory: "+url); } }