You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.9 KiB

package xyz.wbsite.dbtool.javafx.tool;
import xyz.wbsite.dbtool.javafx.po.ApiMethod;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ApiClassReader {
private File javaClass;
private List<ApiMethod> methodList;
public ApiClassReader(File javaClass) throws IOException {
this.javaClass = javaClass;
methodList = new ArrayList<>();
read();
}
private void read() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(javaClass), "utf-8"));
String line = null;
Pattern compile = Pattern.compile("\\s+public (.*Response)\\s+(.*)\\((.*Request) request\\) \\{");
while ((line = bufferedReader.readLine()) != null) {
Matcher matcher = compile.matcher(line);
if (matcher.find()) {
ApiMethod apiMethod = new ApiMethod();
apiMethod.setResponse(matcher.group(1));
apiMethod.setMethod(matcher.group(2));
apiMethod.setRequest(matcher.group(3));
methodList.add(apiMethod);
}
}
bufferedReader.close();
}
public File getJavaClass() {
return javaClass;
}
public void setJavaClass(File javaClass) {
this.javaClass = javaClass;
}
public List<ApiMethod> getMethodList() {
return methodList;
}
public void setMethodList(List<ApiMethod> methodList) {
this.methodList = methodList;
}
public static void main(String[] args) throws IOException {
ApiClassReader javaClassReader = new ApiClassReader(new File("D:\\wangbing\\Project\\dbtool\\target\\project\\EXAMPLE-WEB\\src\\main\\java\\com\\example\\action\\api\\system\\DictApi.java"));
System.out.println();
}
}

Powered by TurnKey Linux.