`
tipx
  • 浏览: 108982 次
  • 性别: 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)。但...

    Java 删除项目里面的注释所用到的包.zip

    这个"Java 删除项目里面的注释所用到的包.zip"可能包含了一个或多个工具或库,专门用于自动化删除Java源代码中的注释。在进行这类操作时,需要注意一些关键点以确保代码质量和安全性。 首先,让我们了解一下为什么...

    java反编译去除注释一建去除超级简单

    本教程将介绍如何使用Java反编译工具去除代码中的注释,使代码更易于阅读和引用。 标题"java反编译去除注释一建去除超级简单"指的是一个简单易用的方法,可以快速地将Java字节码反编译并移除其中的注释。通常,反...

    清除Java代码注释

    本篇文章将详细探讨如何在Java项目中有效地清除注释。 首先,我们来看一下使用MyEclipse这个强大的Java集成开发环境(IDE)来清除注释的方法。MyEclipse是基于Eclipse定制的一个版本,提供了许多方便的开发工具和...

    清除java项目中的注释

    在Java开发过程中,注释是必不可少的部分,它们用于解释代码的功能和逻辑,便于团队协作和后期维护。然而,在某些情况下,比如发布生产环境的代码或者为了优化编译速度,我们可能需要清除代码中的注释。以下将详细...

    删除源程序中的注释

    2. 遗失信息:注释中可能包含了开发者对某些问题的解决方案、历史变更记录等重要信息,一旦删除可能永久丢失。 3. 法律风险:在开源项目中,删除许可证注释可能违反开源协议,引发法律纠纷。 4. 影响团队协作:...

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

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

    C/C++/Java 源代码注释清除工具

    描述中提到的“可以对文件夹操作”意味着该工具支持批量处理,用户可以指定一个包含多个源代码文件的目录,工具会遍历其中的所有C、C++和Java文件,并逐一删除注释。这种批量处理能力极大地提高了工作效率,尤其是在...

    删除代码中的注释

    例如,如果你的项目主要由JavaScript和Java文件组成,你可能会选择`.js`和`.java`作为后缀名。此外,对于注释的匹配,通常会区分行内注释(以`//`开头)和多行注释(以`/*`和`*/`包围)。在实际操作中,可以使用正则...

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

    在Java编程中,处理HTML文件时有时需要去除其中的注释内容,以实现特定的功能需求,比如在给定的项目中,需要读取HTML文本文件并删除其中的注释以便进一步处理或存储。删除HTML注释的过程涉及到对HTML结构的理解以及...

    JAVA 去除注释的jar工具

    这个“JAVA 去除注释的jar工具”就是为此目的设计的,它能够帮助开发者从源代码或已编译的jar文件中移除注释。 首先,了解Java注释的种类。Java中的注释主要有三种类型:单行注释(//)、多行注释(/*...*/)和文档...

    去除文件中的注释

    1. 手动编辑:对于小型项目,可以直接打开源代码文件,逐行检查并删除注释。但这种方法费时费力,容易出错,且不适合大规模的代码库。 2. 使用自动化工具:对于大型项目,更常见的方式是使用专门的去注释工具。这些...

    Java写的关于INI文件读写,以及其它操作

    在这个Java项目中,开发者创建了一个功能,使得程序能够读取、写入和管理INI文件,同时结合了Swing组件来提供用户界面,使得用户可以直接在图形界面上进行文件操作。 1. **INI文件结构**: INI文件由键值对组成,...

    (java递归)删除文件

    在本文中,我们将深入探讨如何使用递归方法在Java中删除文件,这通常涉及到目录及其包含的所有文件和子目录的删除。以下是根据提供的代码片段提炼出的关键知识点: ### 关键知识点一:递归函数设计 递归函数`find...

    自动删除过期文件

    在IT行业中,自动删除过期文件是一项常见的任务,特别是在服务器管理和日志管理等场景下。本文将基于给定的标题“自动删除过期文件”、描述以及标签“C# VS2008 自动删除 过期文件”,深入探讨如何使用C#编程语言在...

Global site tag (gtag.js) - Google Analytics