博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
★ java删除代码注释
阅读量:5863 次
发布时间:2019-06-19

本文共 2279 字,大约阅读时间需要 7 分钟。

package com.witwicky.util;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");			}			reader.close();			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("C:\\Users\\Administrator\\Desktop\\Observable.java");	}}

 

转载地址:http://lnynx.baihongyu.com/

你可能感兴趣的文章
Java中static、final用法小结
查看>>
System Center 2012 SP1 之二 APP Controller系统要求
查看>>
[ 0011] 在unix 下添加 EXCLE的方法
查看>>
泛型委托和泛型接口的逆变协变类型参数
查看>>
我的友情链接
查看>>
BlackBerry Enterprise Server (BES) 5 实施指南
查看>>
我的友情链接
查看>>
rpm及yumV1.0
查看>>
我的友情链接
查看>>
mysql密码过期问题
查看>>
每天一个linux命令(49):at命令
查看>>
java代码实现tomcat的启动和停止
查看>>
Hibernate的延迟加载 ,懒加载,lazy
查看>>
获取AFP共享的文件夹及其权限
查看>>
五、性能监视(7)SQLDIAG
查看>>
位运算
查看>>
CentOS---网络配置详解
查看>>
学习扎记:安装Ubuntu中文输入法
查看>>
Cisco Nexus 1000V安装指南
查看>>
Oracle系列:(20)事务
查看>>