`
tipx
  • 浏览: 107749 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

删除JAVA文件中的注释

    博客分类:
  • java
阅读更多
别问我为什么,偶尔总会有这种需要。

下面的代码可以直接运行,默认为处理*.java,略作修改也可以处理其它类型文件。
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;

/**
 * @author tipx
 * @build 2010-12-23
 */
public class Utils {

    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:\\proj\\scm\\web\\tmp\\src"); //删除目录下所有java文件注释
        //删除某个具体文件的注释
        //clearComment("D:\\proj\\scm\\action\\AbcdefgAction.java");
    }

}

1
1
分享到:
评论

相关推荐

    使用python脚本删除java文件中的注释

    使用python脚本快速删除java文件中的注释

    删除 java 文件 注释

    java中删除java文件里的注释完整版

    java_SQL文件批量删除注释

    java_SQL文件批量删除注释 ,实现自动批量处理Sql脚本中的注释,方便发布您自己的脚本,简单好用。亲测可以用的,谢谢支持。

    java文件注释清除工具

    1.仅支持删除java文件和txt文件;(如果想支持其他格式的文件,请用"."+格式后缀名替换clear_annot类的103行".txt"); 2.仅支持删除以注释开头的行该行前部的注释;(主要是为了删除jd-gui.exe反编译的文件前部的烦人...

    代码注释删除小工具(java)

    用java编写的代码注释删除小工具,能去文本中掉//和/* */注释。 第一个按钮的功能为去掉文本框1中代码的注释,输出到文本框2. 第二个按钮的功能为批量删除文件中的注释,并输出到当前目录(新文件名为xxx.txt)。但...

    Python删除Java源文件中全部注释的实现方法

    本文实例讲述了Python删除Java源文件中全部注释的实现方法。分享给大家供大家参考,具体如下: 同事想删除一个Java项目中的全部注释,让我帮忙想想办法。 没找不到合适工具,就写了这个脚本,遍历指定目录,查找*....

    删除源程序中的注释

    删除原程序中的注释,使程序全部成为有用的程序

    Java 批量删除html中注释内容的方法

    最近项目中有一个功能需要读取外部html文本文件。但是有的html文件里面有大量的注释,需要删除其中的注释在存储

    模拟文件系统(java编写且支持磁盘分块和写回磁盘)

    这是一个用Java实现的一个虚拟文件系统,支持多用户使用,模拟了数据分块,实现了一些基本的文件目录操作,如创建目录,目录跳转,目录的重命名,复制拷贝,删除,以及文件的创建,编辑,重命名和删除,查看目录和...

    java实现ftp文件的上传、下载、删除源码

    java实现ftp文件的上传、下载、删除源码,有丰富的代码注释,让你很快理解每一步的代码意思

    文件管理系统java源代码

    java 写的文件管理系统(带注释),具有如下功能(附上直接可运行的Myexplorer.jar 和 安装版本的封装MyExplorer_setup.exe文件) 2.3基本功能:(1)文件和目录的基本操作,比如文件和目录的创建、删除、复制、移动...

    Java上传文件到FTP服务器,支持断点续传.rar

    java实现ftp断点续传,上传文件到FTP服务器,支持断点续传,同时支持LINUX主机,代码里面包括了比较多的java网络操作类,比如连接FTP的常规类、递归创建远程... 源代码中的注释丰富,是学习Java网络文件上传的好范例。

    Java 利用多线程实现文件的分片下载

    Main方法是运行开始的方法,里面StopWatch是测速工具类,如果要想使用请导入相关maven坐标,不想使用直接删除即可。 内容概要: 这是随手写的一个利用线程池下载文件的小玩具,如果刚学完线程池不知道怎么使用的,...

    源码清除注释工具,移除特定文件工具

    清除源代码注释、替换源代码注释:包括各种文本文件例如c,c++,java等各种源码。删除指定后缀名的文件。

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    springboot整合oss实现文件的上传,查看,删除,下载

    springboot整合oss实现文件的上传,查看,删除,下载!注释清晰,方便易懂!

    JAVA_API1.6文档(中文)

    javax.imageio.stream Java Image I/O API 的一个包,用来处理从文件和流中产生的低级别 I/O。 javax.management 提供 Java Management Extensions 的核心类。 javax.management.loading 提供实现高级动态加载的类...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    批量删除源码注释

    支持h,c,cpp,cs,js,java,php等多种源码,识别/**/和//注释,跳过‘’和“”内字符串,安全放心。源文件大小无限制,快速,实测4.49M单文件源码50%为注释只需4秒左右。内含备份和覆盖两种。

Global site tag (gtag.js) - Google Analytics