¿Por qué convertir CLASS a TXT?
Un archivo .class es bytecode binario compilado y no se puede leer como texto sin procesamiento. Los desarrolladores desensamblan o descompilan a .txt para inspeccionar qué hace una clase cuando el código fuente .java original no está disponible, para comparar dos versiones compiladas o para documentar la API pública de una biblioteca.
Cómo convertir CLASS a TXT
javap (JDK) FREE
Ejecute javap -c -p MyClass en una terminal para imprimir las instrucciones de bytecode, luego redirija a un archivo con > MyClass.txt. Añada -verbose para obtener detalles del constant pool y la versión de la clase.
JD-GUI OPEN-SOURCE
Arrastre el archivo .class sobre JD-GUI y el código fuente de Java reconstruido aparecerá en el editor. Use Archivo > Guardar todas las fuentes para exportar como un archivo .java (texto plano) y renombre a .txt si es necesario.
CFR OPEN-SOURCE
Ejecute java -jar cfr.jar MyClass.class > MyClass.txt para redirigir el código fuente de Java reconstruido directamente a un archivo de texto.
Acerca de estos formatos
Un archivo CLASS es bytecode de Java compilado: el resultado que produce javac a partir de un archivo fuente .java. Para ejecutarlo necesitas tener instalado Java (un JDK), y luego usar el…
Abrir detalles de .CLASS →Un archivo TXT es texto plano sin formato, el formato de documento más simple en cualquier computadora. Haga doble clic en él: Windows lo abre en Notepad, macOS en TextEdit, Linux en gedit.…
Abrir detalles de .TXT →Calidad y qué observar
- Un archivo
.classcomienza con los magic bytes0xCAFEBABE- abrirlo en un editor de texto muestra basura binaria, no contenido legible. - La salida de
javapson mnemónicos de bytecode (invokevirtual,aload, etc.), no código fuente de Java; use JD-GUI o CFR si necesita una salida similar al código fuente. - Añada
-verboseajavappara incluir la versión principal del archivo de clase, el constant pool y las tablas de atributos en la salida.
Preguntas frecuentes
¿Cuál es la diferencia entre la salida de javap y la salida de un descompilador?
javap muestra instrucciones de bytecode (mnemónicos); JD-GUI y CFR reconstruyen la sintaxis del código fuente de Java - ambos producen texto plano pero difieren significativamente en legibilidad.¿Necesito instalar algo adicional para usar javap?
javap se incluye con cada instalación del JDK; si tiene instaladas herramientas de desarrollo de Java, ya está disponible.¿Puedo convertir un archivo .class a .txt sin instalar Java?
javap, JD-GUI y CFR requieren Java para ejecutarse, por lo que es necesaria una instalación de JDK o JRE.