Java:使用javaparser格式化Java源文件

时间:2025-04-22 07:09:41
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");} }