Vì vậy, đây là một đoạn mã sử dụng CodeModel mà tạo ra mã java:Chỉnh sửa/Sửa đổi tệp .java theo lập trình? (Không phải là tập tin .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);
Mã này tạo ra một file java:
package foo;
public class Bar {
int foo() {
return 5;
}
}
Tuy nhiên, tôi KHÔNG muốn CodeModel tạo một tệp java mới cho tôi. Tôi đã có một tệp .java rồi và muốn thêm một vài dòng mã vào một phương thức bên trong nó. Vì vậy, tôi muốn API sửa đổi tệp java trực tiếp/tạo bản sao sửa đổi của nó. Có cách nào để làm việc này không?
Có các lớp học một phần [của C#] trong java sẽ giúp ở một mức độ nào đó ... – Fakrudeen
@Fakrudeen Vui lòng giải thích. – Jay
C# cho phép định nghĩa lớp để mở rộng nhiều tệp. Nếu các thay đổi chỉ là phụ gia, bạn có thể xác định [tạo] chúng trong một tệp khác, thay vì sửa đổi tệp hiện có. Tất cả điều này là tranh luận cho bạn, như java không có các lớp học một phần. Đó là lý do tôi thêm nó làm bình luận. – Fakrudeen