lo tanto, aquí es una pieza de código usando CodeModel que genera el código de Java:Edición/modificación de un archivo .java mediante programación? (No el archivo .class)
JCodeModel cm = new JCodeModel();
JDefinedClass dc = cm._class("foo.Bar");
JMethod m = dc.method(0, int.class, "foo");
m.body()._return(JExpr.lit(5));
File f = new File("C:/target/classes");
f.mkdirs();
cm.build(f);
Este código genera un archivo .java:
package foo;
public class Bar {
int foo() {
return 5;
}
}
Sin embargo, NO DOY Quiero CodeModel para crear un nuevo archivo java para mí. Ya tengo un archivo .java y me gustaría agregar algunas líneas de código a un método dentro de él. Por lo tanto, me gustaría que la API modifique directamente el archivo java/cree una copia modificada de este. ¿Hay alguna manera de hacer esto?
Tener clases parciales [de C#] en java ayudará en cierta medida ... – Fakrudeen
@Fakrudeen Elabore. – Jay
C# permite que las definiciones de clase abarquen múltiples archivos. Si los cambios son solo aditivos, puede definirlos [generar] en un archivo diferente, en lugar de modificar el archivo existente. Todo esto es discutible para ti, ya que Java no tiene clases parciales. Es por eso que lo agregué como comentario. – Fakrudeen