我想通过网络发送类数据,我需要从类的名称中获取.class文件中的二进制数据。我想使用默认的类加载器,然后通过网络发送加载的数据。我怎样才能做到这一点?我正在使用scala 2.9.0.1和jre6
答案 0 :(得分:4)
RMI允许您从网络加载类文件。这可能比滚动自己的解决方案更容易。看看http://docs.oracle.com/javase/6/docs/technotes/guides/rmi/codebase.html
答案 1 :(得分:1)
用文件分隔符替换完全限定类名中的句点,并在结果中附加“.class”,这将是类路径中.class文件的位置。然后使用ClassLoader以流的形式访问该文件。
val location = className.replaceAll("\\.",File.separator) + ".class"
val stream = ClassLoader.getSystemClassLoader().getResourceAsStream(location)
//send the stream to your remote location