当前位置: 首页 > 面试题库 >

将Class对象转换为字节

越勇
2023-03-14
问题内容

如果我在运行时有一个Class实例,是否可以获取其byte
[]表示形式?我感兴趣的字节将为Class文件格式,这样它们将是[ClassLoader.defineClass]
[3]的有效输入。

[3]:http
:
//java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html#defineClass(java.lang.String,byte
[],int,int)

编辑:我已经接受了getResourceAsStream的答案,因为它非常简单,并且大多数时候都可以使用。ClassFileTransformer似乎是一个更强大的解决方案,因为它不需要从.class文件中加载类。例如,它将处理网络加载的类。这种方法有很多困难,但是我会牢记。谢谢大家!


问题答案:

通常,您通常可以从Classloader将类作为资源加载。

Class c = ...
String className = c.getName();
String classAsPath = className.replace('.', '/') + ".class";
InputStream stream = c.getClassLoader().getResourceAsStream(classAsPath);

我可能会建议使用Apache commons-
io的内容将InputStream读入byte[],但是IOUtils.toByteArray()应该可以解决。编写该代码非常容易出错和/或变慢。



 类似资料:
  • 我有以下代码将csv文件创建为字节数组: 上面返回的是来自java包的字节[]。nio。文件 。 然而,现在我需要从api返回一个Json对象,而不是一个字节数组。 代码中的所有其他逻辑应该保持不变。我能做到这一点的最简单方法是什么?

  • 问题内容: 将字符串表示形式转换为对象,但我要相反。对象要转换为JSON字符串,我有一个链接http://www.devcurry.com/2010/03/convert- javascript-object-to-json.html, 但是它需要json2.js jQuery是否具有本机功能方法来做到这一点? 问题答案: jQuery只会在调用本机浏览器方法之前进行一些正则表达式检查。如果不可用

  • 问题内容: 如何使用JavaScript(或jQuery)将描述对象的字符串转换为JSON字符串? 例如:转换这个( 不是 有效的JSON字符串): 到这个: 如果可能,我希望避免使用。 问题答案: 如果字符串是来自可靠来源 ,你可以使用然后的结果。像这样: 请注意,当您使用对象文字时,必须将其括在圆括号中,否则将花括号解析为块而不是对象。 我也同意以下问题的评论,那就是最好以有效的JSON开始编

  • 问题内容: 您如何使JS认为字符串是JSON? 我有一个仅在将JSON对象传递给它的情况下才起作用的函数。如果我以与JSON相同的格式将字符串传递给它,则它将不起作用。因此,我想让该函数认为传递给它的字符串是JSON。该字符串确实采用JSON格式。 我还尝试了以下方法。我通过Ajax输入了字符串,参数“ handle as”为“ JSON”,然后将结果传递给函数。 所以我推断出问题不在弦上。如何将

  • 问题内容: 我已经编写了一个android程序来将值从Web服务加载到表行。但是值变为null,因此我需要将其转换为字符串。有人可以告诉我这样做的方法吗? 现在从Web服务获取空值,因此我需要将其转换为string 。 LogCat: 问题答案: 用这个,

  • 问题内容: 我想知道如何使用python的反射功能将python’type’对象转换为字符串。 例如,我想打印一个对象的类型 问题答案: 如果那不适合您,请使用此: 例: 另外,使用新样式的类和旧样式的类(即从继承)之间似乎也存在差异。对于新样式的类,返回名称,对于旧样式的类,返回。