大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
批量去掉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)判断此行内是否包含“/*“,如果包含,定位到“/*“第一个字符,并标识多行注释开始,继续判断当前读取行是否包含"*/",如果包含,注释部分删除,其他写回文件,未包含删除,及以后的只判断多行结束,直至判断到多行注释结束,把注释部分删除
(2)多行注释未开始,则判断此行内是否包含“//“,如果包含,定位到“//“第一个字符,把后面的全部删除,注意多行注释开始的当前行,还要再判断一次“//“,因为java支持以下注释
//单行注释/*
*多行注释
*/
其实在代码当中适当加点注释,对自己、别人阅读代码以及以后维护都是有好处的,没必要删除全部的注释,而且编译会跳过注释部分,就算你把一部武侠小说加到代码注释里,也不会影响编译出来的文件大小的
选中代码 ctrl+/ 是每一行代码前面加注释 //
ctrl+shift+/ 是/* */注释
取消是同样的操作,已有注释的就会取消没有就会加注释(前提是你已经设置了快捷键,我说的这些是默认的快捷键eclipse中的)