如何从Java中的.class文件获取实例

哦哦

坦白说,我什至不知道是否可能。但是我想要做的就是如下。

  1. 我通过终端中的javac命令从ClassFile.java创建了一个类文件。
  2. 然后,我想从.java文件或.class文件获取实例。
  3. 接下来,我在eclipse中创建了另一个项目,正如您所猜测的,该项目路径和上层文件路径完全不同。例如,ClassFile.java / class文件可以位于'〜/ Downloads'文件夹中,另一方面,新的eclipse项目可以位于'〜/ workspace /'中。
  4. 因此,我读取了FileInputStream在步骤1中引用的文件。
  5. 从这里,我只粘贴我的代码。

    公共班级主要{

    private static final String CLASS_FILE_PATH = 
            "/Users/juneyoungoh/Downloads/ClassFile.class";
    
    private static final String JAVA_FILE_PATH = 
            "/Users/juneyoungoh/Downloads/ClassFile.java";
    
    private static Class getClassFromFile(File classFile) throws Exception {
        System.out.println("get class from file : [" + classFile.getCanonicalPath() + " ]");
        Object primativeClz = new Object();
        ObjectInputStream ois = null;
        ois = new ObjectInputStream(new FileInputStream(classFile));
        primativeClz = ois.readObject();
        ois.close();
        return primativeClz.getClass();
    }
    
    public static void main(String[] args) throws Exception {
        getClassInfo(getClassFromFile(new File(CLASS_FILE_PATH)));
    }
    

    }

就像您的假设一样,此代码也有错误。例如,它显示:

java.io.StreamCurruptedException: invalid stream header : CAFEBABE

这有什么办法从.class文件或.java文件获取对象实例?

PS我希望不要使用额外的库。

奥德同行
private static final String CLASS_FOLDER =
        "/Users/juneyoungoh/Downloads/";

private static Class getClassFromFile(String fullClassName) throws Exception {
    URLClassLoader loader = new URLClassLoader(new URL[] {
            new URL("file://" + CLASS_FOLDER)
    });
    return loader.loadClass(fullClassName);
}

public static void main( String[] args ) throws Exception {
    System.out.println((getClassFromFile("ClassFile"));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Java中的.class文件获取实例

来自分类Dev

如何在Java中获取SuperClass的实例?

来自分类Dev

如何获取Java中的实例名称?

来自分类Dev

java Class <?扩展Entity>如何获取Entity的实例

来自分类Dev

获取 php 文件中任意插件的实例

来自分类Dev

如何将Class的实例存储到文件中

来自分类Dev

如何从classLoader和未编译的文件* .java中获取java.lang; Class

来自分类Dev

通过文件名获取实例在ImageField中的文件

来自分类Dev

如何从java中的list<class>获取值?

来自分类Dev

如何从Java中的JavaScript文件获取结果

来自分类Dev

如何在Java中获取文件内容

来自分类Dev

如何在Java的特定程序包中获取所有Class文件?

来自分类Dev

使用gen-class时如何获取该类的实例

来自分类Dev

如何在Java代码中获取scala.Unit的实例

来自分类Dev

在AWS Windows实例中获取SSL的CSR文件

来自分类Dev

从配置文件中获取断路器实例

来自分类Dev

使用反射从.class文件实例化Java类

来自分类Dev

如何从File实例获取Class <?>实例而不求助于字符串

来自分类Dev

Java-Class.forName,如何从Class中获取字段

来自分类Dev

如何使 main.py 中的 Class 实例在另一个文件中可用?

来自分类Dev

如何使用Java获取.jar文件中的文件?

来自分类Dev

如何使用Java获取.jar文件中的文件?

来自分类Dev

如何在Google Apps脚本中获取“此”文件的当前实例?

来自分类Dev

如何在Google Apps脚本中获取“此”文件的当前实例?

来自分类Dev

在EmberJs中,是否可以从同一Class的实例获取Class对象?

来自分类Dev

如何使用Java在Windows中获取短文件名?

来自分类Dev

如何在Java中获取tga文件的方向

来自分类Dev

如何在Java中获取目录的最新文件

来自分类Dev

如何从JAVA中的html文件获取特定数据

Related 相关文章

  1. 1

    如何从Java中的.class文件获取实例

  2. 2

    如何在Java中获取SuperClass的实例?

  3. 3

    如何获取Java中的实例名称?

  4. 4

    java Class <?扩展Entity>如何获取Entity的实例

  5. 5

    获取 php 文件中任意插件的实例

  6. 6

    如何将Class的实例存储到文件中

  7. 7

    如何从classLoader和未编译的文件* .java中获取java.lang; Class

  8. 8

    通过文件名获取实例在ImageField中的文件

  9. 9

    如何从java中的list<class>获取值?

  10. 10

    如何从Java中的JavaScript文件获取结果

  11. 11

    如何在Java中获取文件内容

  12. 12

    如何在Java的特定程序包中获取所有Class文件?

  13. 13

    使用gen-class时如何获取该类的实例

  14. 14

    如何在Java代码中获取scala.Unit的实例

  15. 15

    在AWS Windows实例中获取SSL的CSR文件

  16. 16

    从配置文件中获取断路器实例

  17. 17

    使用反射从.class文件实例化Java类

  18. 18

    如何从File实例获取Class <?>实例而不求助于字符串

  19. 19

    Java-Class.forName,如何从Class中获取字段

  20. 20

    如何使 main.py 中的 Class 实例在另一个文件中可用?

  21. 21

    如何使用Java获取.jar文件中的文件?

  22. 22

    如何使用Java获取.jar文件中的文件?

  23. 23

    如何在Google Apps脚本中获取“此”文件的当前实例?

  24. 24

    如何在Google Apps脚本中获取“此”文件的当前实例?

  25. 25

    在EmberJs中,是否可以从同一Class的实例获取Class对象?

  26. 26

    如何使用Java在Windows中获取短文件名?

  27. 27

    如何在Java中获取tga文件的方向

  28. 28

    如何在Java中获取目录的最新文件

  29. 29

    如何从JAVA中的html文件获取特定数据

热门标签

归档