我有一个文本文件:
@Entity
@Table(name = "User")
public class User implements LSLEntity, HasUUID {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Column(name = "facebook_id", unique=true)
private String facebookId;
@UUID
@Column(name = "uuid", unique = true)
private String uuid;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="user_info_id")
private UserInfo userInfo;
@OneToOne
@JoinColumn(name="balanced_customer_id")
@Transient
private BalancedCustomer balancedCustomer;
@OneToOne(mappedBy = "user")
private Session session;
public User(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFacebookId() {
return facebookId;
}
public void setFacebookId(String facebookId) {
this.facebookId = facebookId;
}
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
public BalancedCustomer getBalancedCustomer() {
return balancedCustomer;
}
public void setBalancedCustomer(BalancedCustomer balancedCustomer) {
this.balancedCustomer = balancedCustomer;
}
public Session getSession() {
return session;
}
public void setSession(Session session) {
this.session = session;
}
我想替换另一个上的所有注释。此类注释@OneToOne
已替换为@myAnnotation1
,而注释@Column(name = "id")
已替换为@myAnnotation1(bla bla bla)
。换句话说,用注释替换另一行上带注释的某些字符串。
public StringBuffer clenFile(File file) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
StringBuffer sbRead = new StringBuffer();
StringBuffer sbResult = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
sbRead.append(line).append("\n");
}
Matcher m = Pattern.compile("(?m)^(?! *@) *(.+)(\\s)").matcher(sbRead);
while (m.find()) {
sbResult.append(m.group(1)).append("\n");
}
return sbResult;
}
此方法从注释中清除文件。但利润率下降。如何保持边距,并将这些注释替换为您自己的注释?
立即输出:
public class User implements LSLEntity, HasUUID {
private Long id;
private String facebookId;
private String uuid;
private UserInfo userInfo;
private BalancedCustomer balancedCustomer;
private Session session;
public User(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFacebookId() {
return facebookId;
}
public void setFacebookId(String facebookId) {
this.facebookId = facebookId;
}
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
public BalancedCustomer getBalancedCustomer() {
return balancedCustomer;
}
public void setBalancedCustomer(BalancedCustomer balancedCustomer) {
this.balancedCustomer = balancedCustomer;
}
public Session getSession() {
return session;
}
public void setSession(Session session) {
this.session = session;
}
public void setUuid(String uuid) {
this.uuid = uuid;
}
public String getUuid() {
return uuid;
}
答案 0 :(得分:0)
通过string.replaceAll
功能。
String input = " @Entity\n" +
"@Table(name = \"User\")\n" +
"public class User implements LSLEntity, HasUUID {\n" +
"\n" +
" @Id\n" +
" @GeneratedValue(strategy = GenerationType.AUTO)\n" +
" @Column(name = \"id\")\n" +
" private Long id;\n" +
"\n" +
" @Column(name = \"facebook_id\", unique=true)\n" +
" private String facebookId;\n" +
"\n" +
" @UUID\n" +
" @Column(name = \"uuid\", unique = true)\n" +
" private String uuid;\n" +
"\n" +
" @OneToOne(cascade = CascadeType.ALL)\n" +
" @JoinColumn(name=\"user_info_id\")\n" +
" private UserInfo userInfo;\n" +
"\n" +
" @OneToOne\n" +
" @JoinColumn(name=\"balanced_customer_id\")\n" +
" @Transient\n" +
" private BalancedCustomer balancedCustomer;\n" +
"\n" +
" @OneToOne(mappedBy = \"user\")\n" +
" private Session session;\n" +
"\n" +
" public User(){\n" +
" }\n" +
"\n" +
" public Long getId() {\n" +
" return id;\n" +
" }\n" +
"\n" +
" public void setId(Long id) {\n" +
" this.id = id;\n" +
" }\n" +
"\n" +
" public String getFacebookId() {\n" +
" return facebookId;\n" +
" }\n" +
"\n" +
" public void setFacebookId(String facebookId) {\n" +
" this.facebookId = facebookId;\n" +
" }\n" +
"\n" +
" public UserInfo getUserInfo() {\n" +
" return userInfo;\n" +
" }\n" +
"\n" +
" public void setUserInfo(UserInfo userInfo) {\n" +
" this.userInfo = userInfo;\n" +
" }\n" +
"\n" +
" public BalancedCustomer getBalancedCustomer() {\n" +
" return balancedCustomer;\n" +
" }\n" +
"\n" +
" public void setBalancedCustomer(BalancedCustomer balancedCustomer) {\n" +
" this.balancedCustomer = balancedCustomer;\n" +
" }\n" +
"\n" +
" public Session getSession() {\n" +
" return session;\n" +
" }\n" +
"\n" +
" public void setSession(Session session) {\n" +
" this.session = session;\n" +
" }";
System.out.println(input.replaceAll("(?m)^(?: *@.*)?\\n|^ +", ""));
输出:
public class User implements LSLEntity, HasUUID {
private Long id;
private String facebookId;
private String uuid;
private UserInfo userInfo;
private BalancedCustomer balancedCustomer;
private Session session;
public User(){
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFacebookId() {
return facebookId;
}
public void setFacebookId(String facebookId) {
this.facebookId = facebookId;
}
public UserInfo getUserInfo() {
return userInfo;
}
public void setUserInfo(UserInfo userInfo) {
this.userInfo = userInfo;
}
public BalancedCustomer getBalancedCustomer() {
return balancedCustomer;
}
public void setBalancedCustomer(BalancedCustomer balancedCustomer) {
this.balancedCustomer = balancedCustomer;
}
public Session getSession() {
return session;
}
public void setSession(Session session) {
this.session = session;
}