如何加载和使用多于.class文件?

时间:2015-08-30 07:44:31

标签: java

我在这个文件夹中有一个文件夹我有4个.class文件。我想在我的主程序中加载这些文件并调用方法。对于一个.class文件我喜欢这样:

File file = new File("/home/saeed/NetBeansProjects/java-test/build/classes");

URI uri = file.toURI();
URL[] urls = new URL[]{uri.toURL()};

ClassLoader classLoader = new URLClassLoader(urls);

Class clazz = classLoader.loadClass("com.test.NewClass");

为了调用我喜欢的方法:

Object obj = clazz.newInstance();

System.out.println(""+obj.getClass().
        getMethod("echo",String.class).invoke(obj, "Saeed"));

现在我在文件夹中只有一个.class。如何加载和调用他们的方法? 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用PathMatcher,这是一个示例:

Path startDir = Paths.get("C:\\home");

String pattern = "*.class";

FileSystem fs = FileSystems.getDefault();
final PathMatcher matcher = fs.getPathMatcher("glob:" + pattern);

FileVisitor<Path> matcherVisitor = new SimpleFileVisitor<Path>() {
    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attribs) {
        Path name = file.getFileName();
        if (matcher.matches(name)) {
            // Found a .class file 
            System.out.print(String.format("Found matched file: '%s'.%n", file));
        }
        return FileVisitResult.CONTINUE;
    }
};