Hvorfor konvertere CLASS til TXT?
En .class-fil er kompileret binær bytecode og kan ikke læses som tekst uden behandling. Udviklere disassembler eller decompiler til .txt for at undersøge, hvad en klasse gør, når den originale .java-kildekode ikke er tilgængelig, for at sammenligne to kompilerede versioner eller for at dokumentere et biblioteks offentlige API.
Sådan konverterer du CLASS til TXT
javap (JDK) FREE
Kør javap -c -p MyClass i en terminal for at udskrive bytecode-instruktioner, og omdiriger derefter til en fil med > MyClass.txt. Tilføj -verbose for detaljer om constant pool og klasseversion.
JD-GUI OPEN-SOURCE
Træk .class-filen over i JD-GUI, og den rekonstruerede Java-kildekode vises i editoren. Brug Filer > Gem alle kilder for at eksportere som en .java-fil (almindelig tekst) og omdøb til .txt efter behov.
CFR OPEN-SOURCE
Kør java -jar cfr.jar MyClass.class > MyClass.txt for at omdirigere rekonstrueret Java-kildekode direkte til en tekstfil.
Om disse formater
En CLASS-fil er kompileret Java-bytecode - det output, som javac producerer fra en .java-kildefil. For at køre den skal du have Java (et JDK) installeret og derefter bruge kommandoen «java…
Åbn .CLASS detaljer →En TXT-fil er almindelig, uformateret tekst - det enkleste dokumentformat på enhver computer. Dobbeltklik på den: Windows åbner den i Notepad, macOS i TextEdit, Linux i gedit. Intet skal…
Åbn .TXT detaljer →Kvalitet & hvad man skal være opmærksom på
- En
.class-fil starter med de magiske bytes0xCAFEBABE- åbning i en teksteditor viser binært affald, ikke læsbart indhold. javap-output er bytecode-mnemoteknikker (invokevirtual,aloadosv.), ikke Java-kildekode; brug JD-GUI eller CFR, hvis du har brug for kildelignende output.- Tilføj
-verbosetiljavapfor at inkludere klassefilens hovedversion, constant pool og attributtabeller i outputtet.
Ofte stillede spørgsmål
Hvad er forskellen på javap-output og decompiler-output?
javap viser bytecode-instruktioner (mnemoteknikker); JD-GUI og CFR rekonstruerer Java-kildesyntaks - begge producerer almindelig tekst, men adskiller sig væsentligt i læsbarhed.Skal jeg installere noget ekstra for at bruge javap?
javap følger med enhver JDK-installation; hvis du har Java-udviklingsværktøjer installeret, er det allerede tilgængeligt.Kan jeg konvertere en .class-fil til .txt uden at installere Java?
javap, JD-GUI og CFR kræver alle Java for at køre, så en JDK- eller JRE-installation er nødvendig.