Więc tutaj jest kawałek kodu z wykorzystaniem CodeModel który generuje kod Java:Edytowanie/modyfikowanie pliku .java programowo? (Nie plik .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);
Ten kod generuje plik .java:
package foo;
public class Bar {
int foo() {
return 5;
}
}
Ja jednak DO NOT chcę, aby CodeModel utworzył dla mnie nowy plik java. Mam już plik .java i chciałbym dodać kilka linii kodu do metody w nim zawartej. Dlatego chciałbym, aby interfejs API bezpośrednio zmodyfikował plik java/utworzył zmodyfikowaną jego kopię. Czy jest jakiś sposób na zrobienie tego?
Posiadanie klas częściowych [z C#] w Javie w pewnym stopniu pomoże ... – Fakrudeen
@Frude Wypowiedz proszę. – Jay
C# umożliwia definicje klas do rozpiętości wielu plików. Jeśli zmiany są tylko addytywne, możesz zdefiniować je [generuj] w innym pliku, zamiast modyfikować istniejący plik. Wszystko to jest dla ciebie dyskusyjne, ponieważ java nie ma klas częściowych. Dlatego dodałem go jako komentarz. – Fakrudeen