`

如何批量去掉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.IOException;  

import java.io.InputStream;  

import java.io.InputStreamReader;  

import java.io.OutputStream;  

import java.io.OutputStreamWriter;  

 

public class CopyJava {  

 

    public static void main(String[] args) throws IOException {  

        copy("e:/src", "e:/desc"); // 这里写好源文件夹和目的文件夹  

    }  

 

    private static void copy(String srcPath, String descPath) throws IOException {  

        copy(new File(srcPath), new File(descPath));  

    }  

 

    private static void copy(File srcFile, File descFile) throws IOException {  

        if (srcFile.isFile()) { // 文件  

            File parent = descFile.getParentFile();  

            if (!parent.exists()) {  

                parent.mkdirs(); // 创建文件夹  

            }  

            if (srcFile.getName().endsWith(".java")) {  

                copyJava(srcFile, descFile);  

            } else {  

                copyFile(srcFile, descFile);  

            }  

        } else { // 文件夹  

            for (File file : srcFile.listFiles()) {  

                // 相对路径  

                String srcPath = file.getAbsolutePath().substring(srcFile.getAbsolutePath().length());  

                copy(file, new File(descFile.getAbsolutePath() + srcPath));  

            }  

        }  

    }  

 

    private static void copyJava(File srcFile, File descFile) throws IOException {  

        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(descFile)));  

        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile)));  

        String line;  

        while ((line = br.readLine()) != null) {  

            bw.write(line.replaceFirst("/\\*     \\*/", "")); // 注意这里,如果不行,要适当修改  

            bw.write("\n");  

        }  

        br.close();  

        bw.close();  

    }  

 

    private static void copyFile(File srcFile, File descFile) throws IOException {  

        OutputStream output = new FileOutputStream(descFile);  

        InputStream input = new FileInputStream(srcFile);  

        byte[] buffer = new byte[1024 * 4];  

        int n = 0;  

        while ((n = input.read(buffer)) != -1) {  

            output.write(buffer, 0, n);  

        }  

        input.close();  

        output.close();  

    }  

 

}  


分享到:
评论

相关推荐

    去除源代码注释

    例如,匹配单行注释的正则表达式为`//[^\r\n]*`,多行注释的正则表达式为`/\*.*?\*/`(需要注意处理嵌套注释的复杂情况)。 - **Java解析器**:更专业的方式是使用Java解析库,如ANTLR、JavaCC等,它们能解析Java...

    批量去出php多行版权注释

    批量去除这些注释的过程涉及到文本处理和正则表达式。PHP提供了丰富的字符串处理函数,如`file_get_contents()`用于读取文件内容,`file_put_contents()`用于写回文件,以及`preg_replace()`用于执行正则表达式的...

    去掉代码注释的工具java \ c\c++、php等

    例如,使用正则表达式在Python或Perl等语言中进行文本处理,可以有效地匹配并移除不同类型的注释。 6. **IDE集成** 许多集成开发环境(IDEs)如IntelliJ IDEA、Eclipse等也提供了去除代码注释的功能,通常在“重构...

    ant-apache-regexp.jar.zip

    2. **版本控制**:在进行版本更新时,可能需要批量修改配置文件中的版本号,正则表达式可以帮助快速定位并替换这些信息。 3. **日志分析**:通过Ant任务读取日志文件,使用正则表达式匹配错误信息,可以快速定位问题...

    JS中去掉空格的jar

    正则表达式 `\s+` 匹配一个或多个连续的空白字符,然后我们用空格替换它们。 5. **利用数组方法**:将字符串转换为字符数组,然后过滤掉空格,再组合回字符串: ```javascript let str = " hello world "; str....

    editplus 代码编辑器html c++ jsp css

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意...

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

    在Java中,删除注释通常涉及文本处理和正则表达式。一种常见的方法是使用Java的`java.io`和`java.nio.file`包来读取和修改源代码文件,结合`java.util.regex`包进行字符串匹配和替换。此外,有些第三方库,如JavaCC...

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

    具体实现可能因需求而异,例如,可以使用正则表达式来匹配和替换注释内容。 这种方法虽然简单,但可能无法处理所有复杂情况,如嵌套的HTML标签与注释的混合,或者跨行的注释。对于更复杂的HTML处理,可以考虑使用...

    删除源程序中的注释

    3. 自动化脚本:通过编写脚本(如Python或Shell脚本),结合正则表达式匹配和替换功能,可以实现跨文件、跨语言的注释删除。 三、删除注释的注意事项 1. 影响可读性:注释是理解代码的关键,删除后可能导致代码...

    EditPlus 2整理信箱的工具

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “<script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    Editplus 3[1].0

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “<script LANGUAGE="JavaScript1.1">\n<!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    清理代码注释和空行

    对于C++、Java等语言,可以使用预处理器(如GCC的`-E`选项)来剥离注释,然后通过正则表达式匹配并替换空行。Python的`re`模块也可以进行同样的操作。另外,许多代码编辑器和IDE(如Visual Studio Code、IntelliJ ...

    JAVA过滤标签实现将html内容转换为文本的方法示例

    可以使用正则表达式来实现该操作,例如去掉head标签、注释、样式、js代码、word标签、xml标签等。 2. 使用replaceEach函数实现批量替换:在将html内容转换为文本时,需要将html标签替换为指定的文本。可以使用...

    消除行号小软件

    3. **处理行号**:软件会自动识别并删除代码中的行号,这一过程可能通过正则表达式或其他文本处理技术实现,确保只移除行号而不影响代码内容。 4. **预览与保存**:处理完成后,用户可以在软件内预览无行号的代码。...

    Text Zap-开源

    1. **文本过滤**:Text Zap的核心功能是对文本文件进行筛选,可以设置条件来过滤出满足特定要求的行,如包含特定关键词或满足正则表达式。 2. **文本替换**:该工具支持在文本文件中进行全局搜索和替换,可以批量...

    使用Idea的一些快捷键

    提供更多搜索选项,如正则表达式等。 - **Ctrl+U**:转到父类。适用于查看继承关系。 - **Ctrl+Alt+S**:打开设置对话框。用于配置IDEA的各种设置。 - **Alt+Shift+Insert**:开启/关闭列选择模式。适合于批量编辑...

    apache-solr-ref-guide-7.4(官方英文-文字版本)

    5. **分词器**:提供了 Solr 中可用的各种分词器的具体说明,包括正则表达式分词器、边N分词器等。 6. **过滤器描述**:详细列出了 Solr 中提供的各种过滤器的功能和配置方法。 7. **字符过滤器工厂**:介绍了 ...

    易语言程序免安装版下载

    修改核心支持库,解决用“播放音乐()”播放“音频采样大小为24位”的WAV文件时产生噪音的BUG。 4. 修改编译器,可以为编译出的EXE、DLL添加版本信息(通过“程序配置”设定)。 5. 修改集成开发环境,自动记忆非...

Global site tag (gtag.js) - Google Analytics