Hvorfor konvertere CLASS til TXT?
En .class-fil er kompilert binær bytecode og kan ikke leses som tekst uten behandling. Utviklere disassemblerer eller dekompilerer til .txt for å inspisere hva en klasse gjør når den originale .java-kildekoden er utilgjengelig, for å sammenligne to kompilerte versjoner, eller for å dokumentere et biblioteks offentlige API.
Hvordan konvertere CLASS til TXT
javap (JDK) FREE
Kjør javap -c -p MyClass i en terminal for å skrive ut bytecode-instruksjoner, og omdiriger deretter til en fil med > MyClass.txt. Legg til -verbose for detaljer om constant pool og klasseversjon.
JD-GUI OPEN-SOURCE
Dra .class-filen over til JD-GUI, så vises den rekonstruerte Java-kildekoden i editoren. Bruk Fil > Lagre alle kilder for å eksportere som en .java-fil (ren tekst) og gi nytt navn til .txt ved behov.
CFR OPEN-SOURCE
Kjør java -jar cfr.jar MyClass.class > MyClass.txt for å omdirigere rekonstruert Java-kildekode direkte til en tekstfil.
Om disse formatene
En CLASS-fil er kompilert Java-bytecode - resultatet javac produserer fra en .java-kildefil. For å kjøre den trenger du Java (en JDK) installert, og deretter bruke kommandoen «java…
Åpne .CLASS-detaljer →En TXT-fil er ren, uformatert tekst - det enkleste dokumentformatet på enhver datamaskin. Dobbeltklikk på den: Windows åpner den i Notepad, macOS i TextEdit, Linux i gedit. Ingenting å…
Åpne .TXT-detaljer →Kvalitet og hva du bør passe på
- En
.class-fil starter med de magiske bytene0xCAFEBABE- åpner du den i et tekstredigeringsprogram vil du se binært søppel, ikke lesbart innhold. javap-utdata er bytecode-mnemoteknikk (invokevirtual,aload, osv.), ikke Java-kildekode; bruk JD-GUI eller CFR hvis du trenger kodelignende utdata.- Legg til
-verboseijavapfor å inkludere klassens hovedversjon, constant pool og attributtabeller i utdataene.
Ofte stilte spørsmål
Hva er forskjellen på javap-utdata og dekompilator-utdata?
javap viser bytecode-instruksjoner (mnemoteknikk); JD-GUI og CFR rekonstruerer Java-kildesyntaks - begge produserer ren tekst, men skiller seg betydelig i lesbarhet.Må jeg installere noe ekstra for å bruke javap?
javap følger med alle JDK-installasjoner; hvis du har Java-utviklingsverktøy installert, er det allerede tilgjengelig.Kan jeg konvertere en .class-fil til .txt uten å installere Java?
javap, JD-GUI og CFR krever alle Java for å kjøre, så en JDK- eller JRE-installasjon er nødvendig.