如何批量去掉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();  

    }  

 

}  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值