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