您的位置:首页 > 编程语言 > Java开发

删除Java代码中的所有注释

2017-09-11 17:31 393 查看
文章来源:http://blog.csdn.net/fullstack/article/details/22688777package tools;
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;
/** * 删除Java代码中的注释 * * @author Alive * @build 2010-12-23 */public class DeleteComments {
private static int count = 0;
/** * 删除文件中的各种注释,包含//、/* * /等 * @param charset 文件编码 * @param file 文件 */ public static void clearComment(File file, String charset) { try { //递归处理文件夹 if (!file.exists()) { return; }
if (file.isDirectory()) { File[] files = file.listFiles(); for (File f : files) { clearComment(f, charset); //递归调用 } return; } else if (!file.getName().endsWith(".java")) { //非java文件直接返回 return; } System.out.println("-----开始处理文件:" + file.getAbsolutePath());
//根据对应的编码格式读取 BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), charset)); StringBuffer content = new StringBuffer(); String tmp = null; while ((tmp = reader.readLine()) != null) { content.append(tmp); content.append("\n"); } String target = content.toString(); //String s = target.replaceAll("\\/\\/[^\\n]*|\\/\\*([^\\*^\\/]*|[\\*^\\/*]*|[^\\**\\/]*)*\\*\\/", ""); //本段正则摘自网上,有一种情况无法满足(/* ...**/),略作修改 String s = target.replaceAll("\\/\\/[^\\n]*|\\/\\*([^\\*^\\/]*|[\\*^\\/*]*|[^\\**\\/]*)*\\*+\\/", ""); //System.out.println(s); //使用对应的编码格式输出 BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), charset)); out.write(s); out.flush(); out.close(); count++; System.out.println("-----文件处理完成---" + count); } catch (Exception e) { e.printStackTrace(); } }
public static void clearComment(String filePath, String charset) { clearComment(new File(filePath), charset); }
public static void clearComment(String filePath) { clearComment(new File(filePath), "UTF-8"); }
public static void clearComment(File file) { clearComment(file, "UTF-8"); }
public static void main(String[] args) { clearComment("D:\\eclipse3.3\\workspace\\Sanguosha"); //删除目录下所有java文件注释 //删除某个具体文件的注释 //clearComment("D:\\proj\\scm\\action\\AbcdefgAction.java"); }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 注释