How can I open Java .class files in a human-readable way? How can I open Java .class files in a human-readable way? java java

How can I open Java .class files in a human-readable way?


jd-gui is the best decompiler at the moment. it can handle newer features in Java, as compared to the getting-dusty JAD.


If you don't mind reading bytecode, javap should work fine. It's part of the standard JDK installation.

Usage: javap <options> <classes>...where options include:   -c                        Disassemble the code   -classpath <pathlist>     Specify where to find user class files   -extdirs <dirs>           Override location of installed extensions   -help                     Print this usage message   -J<flag>                  Pass <flag> directly to the runtime system   -l                        Print line number and local variable tables   -public                   Show only public classes and members   -protected                Show protected/public classes and members   -package                  Show package/protected/public classes                             and members (default)   -private                  Show all classes and members   -s                        Print internal type signatures   -bootclasspath <pathlist> Override location of class files loaded                             by the bootstrap class loader   -verbose                  Print stack size, number of locals and args for methods                             If verifying, print reasons for failure


As pointed out by @MichaelMyers, use

javap -c <name of java class file> 

to get the JVM assembly code. You may also redirect the output to a text file for better visibility.

javap -c <name of java class file> > decompiled.txt