Warum CLASS in TXT konvertieren?
Eine .class-Datei ist kompilierter binärer Bytecode und kann ohne Verarbeitung nicht als Text gelesen werden. Entwickler disassemblieren oder dekompilieren zu .txt, um zu prüfen, was eine Klasse tut, wenn der ursprüngliche .java-Quellcode nicht verfügbar ist, um zwei kompilierte Versionen zu vergleichen oder um die öffentliche API einer Bibliothek zu dokumentieren.
Wie man CLASS in TXT konvertiert
javap (JDK) FREE
Führen Sie javap -c -p MyClass in einem Terminal aus, um Bytecode-Anweisungen auszugeben, und leiten Sie diese mit > MyClass.txt in eine Datei um. Fügen Sie -verbose für Details zum Constant Pool und zur Klassenversion hinzu.
JD-GUI OPEN-SOURCE
Ziehen Sie die .class-Datei auf JD-GUI, und der rekonstruierte Java-Quellcode erscheint im Editor. Verwenden Sie Datei > Alle Quellen speichern, um sie als .java-Datei (Klartext) zu exportieren und benennen Sie sie bei Bedarf in .txt um.
CFR OPEN-SOURCE
Führen Sie java -jar cfr.jar MyClass.class > MyClass.txt aus, um rekonstruierten Java-Quellcode direkt in eine Textdatei umzuleiten.
Über diese Formate
Eine CLASS-Datei ist kompilierter Java-Bytecode - die Ausgabe, die javac aus einer .java-Quelldatei erzeugt. Um sie auszuführen, benötigen Sie installiertes Java (ein JDK) und verwenden…
.CLASS-Details öffnen →Eine TXT-Datei enthält reinen, unformatierten Text - das einfachste Dokumentformat auf jedem Computer. Doppelklicken Sie darauf: Windows öffnet sie in Notepad, macOS in TextEdit, Linux in…
.TXT-Details öffnen →Qualität & worauf zu achten ist
- Eine
.class-Datei beginnt mit den Magic Bytes0xCAFEBABE- das Öffnen in einem Texteditor zeigt binären Müll, keinen lesbaren Inhalt. - Die Ausgabe von
javapbesteht aus Bytecode-Mnemonics (invokevirtual,aloadusw.), nicht aus Java-Quellcode; verwenden Sie JD-GUI oder CFR, wenn Sie eine quellcodeähnliche Ausgabe benötigen. - Fügen Sie
-verbosezujavaphinzu, um die Hauptversion der Klassendatei, den Constant Pool und Attributtabellen in die Ausgabe aufzunehmen.
Häufig gestellte Fragen
Was ist der Unterschied zwischen der javap-Ausgabe und der Decompiler-Ausgabe?
javap zeigt Bytecode-Anweisungen (Mnemonics); JD-GUI und CFR rekonstruieren die Java-Quellsyntax - beide erzeugen Klartext, unterscheiden sich aber erheblich in der Lesbarkeit.Muss ich etwas Zusätzliches installieren, um javap zu verwenden?
javap wird mit jeder JDK-Installation ausgeliefert; wenn Sie Java-Entwicklungstools installiert haben, ist es bereits verfügbar.Kann ich eine .class-Datei ohne installiertes Java in .txt konvertieren?
javap, JD-GUI und CFR benötigen alle Java zum Ausführen, daher ist eine JDK- oder JRE-Installation erforderlich.