功能介绍:

     对代码工程中的(如java,jsp,c++,xml,html,js,properties,py等类型)文件注释进行过滤删除,以减少代码的占用空间和打包后的大小等。

实例:

package org.slive.project.style;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.slive.project.style.formatter.CommentFilter;
import org.slive.project.style.formatter.conf.CommentConfig;
import org.slive.project.style.formatter.conf.CommentType;
public class TestMain {
    public static void main(String[] args) {
        String prjPath = "E:/DevPrjs/Git/org.slive.project.style/";
        String destPrjPath = "E:/DevPrjs/Git/bak/org.slive.project.style/";
        long startTime = System.currentTimeMillis();
        System.out.println("测试开始。");
        System.out.println("源项目:"  + prjPath);
        System.out.println("目标项目:"  + prjPath);
        List<CommentConfig> confs = new ArrayList<>();
        CommentConfig c0 = new CommentConfig();
        // 处理文件类型
        c0.setFileTypeSuffix("java");
        // 过滤掉"//","/* */"的注释
        Set<CommentType> commentFilters = c0.getCommentTypes();
        commentFilters.add(new CommentType("//"));
        commentFilters.add(new CommentType("/*", "*/"));
        confs.add(c0);
        CommentConfig c1 = new CommentConfig();
        // 处理文件类型
        c1.setFileTypeSuffix("xml,html");
        // 过滤掉"<!-- -->"的注释
        Set<CommentType> commentFilters1 = c1.getCommentTypes();
        commentFilters1.add(new CommentType("<!--", "-->"));
        confs.add(c1);
        CommentConfig c2 = new CommentConfig();
        // 处理文件类型
        c2.setFileTypeSuffix("properties,sh");
        // 过滤掉"#"的注释
        Set<CommentType> commentFilters2 = c2.getCommentTypes();
        CommentType e = new CommentType("#");
        e.setException("#!");
        commentFilters2.add(e);
        confs.add(c2);
        CommentFilter.clearComments(prjPath, destPrjPath, confs);
        System.out.println("耗时:" + (System.currentTimeMillis() - startTime) * 0.001 + "s");
    }
}

源码地址:https://github.com/Slive/org.slive.project.style