将.class转换为.java

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

javap -c ClassName.class 

而且我一直有同样的错误

错误:找不到ClassName.class

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

调用javap来读取字节码

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

 javap -c ClassName 

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

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

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

  • 如何“反编译”Java类文件?

你应该尝试一些Java Decompiler。

  1. JD-GUI
  2. DJ Java Decompiler

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

试试这个在线工具: http ://secureteam.net/Java-Decompiler.aspx为我工作!
您需要一个Jar文件才能读取其CLASS文件

我找到了一个可以下载可以反编译整个项目的程序的站点:

http://jd.benow.ca/

也许你可以使用这些……

这适用于Mac用户:

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

 cd 

那么你提交的地方就是:

 cd /Users/CollarBlast/Desktop/JavaFiles/ 

然后你会点击进入。 之后你会做命令。 例如:

cd /Users/CollarBlast/Desktop/JavaFiles/ (然后我会输入…)

然后我会输入命令:

javap -c JavaTestClassFile.class (然后我再次按回车键…)

并希望它应该工作!