将.class转换为.java

时间:2011-06-03 09:53:32

标签: java

我有一些.class文件,我需要转换为.java,所以我做了:

javap -c ClassName.class

并且我一直有同样的错误

  

错误:找不到ClassName.class

你们有什么可能的原因吗?我做了man javap,据我所知,语法是正确的。如果有另一种方法将其转换为.java文件,我非常愿意尝试。非常感谢任何想法?

4 个答案:

答案 0 :(得分:34)

调用javap读取字节码

javap命令采用不带.class扩展名的类名。尝试

javap -c ClassName

将.class文件转换回.java文件

但是,

javap不会为您提供java语法中方法的实现。它最多只能以JVM字节码格式提供给你。

要实际反编译(即,执行javac的反向),您将必须使用适当的反编译器。例如,参见以下相关问题:

答案 1 :(得分:1)

我猜测类名是错误的 - 请确保使用完全解析的类名,包含所有包 - 或者它不在CLASSPATH中,因此javap无法找到它。

答案 2 :(得分:0)

这适用于Mac用户:

首先,您必须澄清类文件的位置...例如,在“终端”(Mac应用程序)中,您可以键入:

cd

然后你提交的地方就是:

cd /Users/CollarBlast/Desktop/JavaFiles/
然后你会点击回车。之后你会做命令。 e.g:

cd /Users/CollarBlast/Desktop/JavaFiles/(然后我会按回车键输入......)

然后我会输入命令:

javap -c JavaTestClassFile.class(然后我会再次按回车进入...)

希望它能起作用!

答案 3 :(得分:0)

我使用了http://www.javadecompilers.com,但是在某些类中,它会给您消息“无法加载此类...”

INSTEAD下载Android Studio,导航到包含Java类文件的文件夹,然后双击它。该代码将显示在右窗格中,我想您可以将其复制并从那里另存为Java文件