Java:使用javaparser格式化Java源文件
package com.hy.java.javafile.format;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.List;
import java.util.Optional;
import com.github.javaparser.JavaParser;
import com.github.javaparser.ParseResult;
import com.github.javaparser.StaticJavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.ImportDeclaration;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.PackageDeclaration;
import com.github.javaparser.symbolsolver.JavaSymbolSolver;
/**
*
* @author hy
* @createTime 2021-07-24 18:40:30
* @description 实现格式化java源代码的操作
*
*/
public class JavaFileFormatTest {
public static void main(String[] args) {
File file = new File("D:\\eclipse-workspace\\Java8BasicReStudy\\src\\com\\hy\\java\\javafile\\format\\");
try {
//CompilationUnit compilationUnit=(file);
//NodeList<ImportDeclaration> imports = ();
// 或者使用下面的方式
JavaParser javaParser=new JavaParser();
ParseResult<CompilationUnit> parse = javaParser.parse(file);
if(parse.isSuccessful()) {
Optional<CompilationUnit> result = parse.getResult();
CompilationUnit compilationUnit = result.get();
//NodeList<ImportDeclaration> imports = ();
//(imports);
List<Node> childNodes = compilationUnit.getChildNodes();
for (Node node : childNodes) {
if(node instanceof ImportDeclaration) {
System.out.print(node);
}else if(node instanceof PackageDeclaration) {
System.out.print(node);
}else{
System.out.println(node);
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void hello() {System.out.println("hello");}
}