遍历删除java文件的注释
1.废话没有,直接代码
public static StringBuffer sb = new StringBuffer();
public static void main(String[] args) {
try {
File file=new File("E:\\132\\SourceCounter\\java");
filesDirs(file);
FileOutputStream fos = null;
try {
//输出文件
File file22 = new File("E:\\132\\123.txt");
fos = new FileOutputStream(file22);
fos.write(sb.toString().getBytes("UTF-8"));
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(fos != null){
//关闭文件流
fos.close();
}
} catch (IOException e2) {
e2.printStackTrace();
}
}
System.out.println("-------完事----");
} catch (Exception e) {
e.printStackTrace();
}
}
//使用递归遍历文件夹及子文件夹中文件
public static void filesDirs(File file){
if(file!=null){
if(file.isDirectory()){
File[] files=file.listFiles();
for (File flies2:files) {
filesDirs(flies2);
}
}else{
if(file.getName().endsWith("java")) {
try {
readFile(file);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}else{
System.out.println("文件不存在");
}
}
private static void readFile(File fin) throws IOException {
FileInputStream fis = new FileInputStream(fin);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String line = null;
while ((line = br.readLine()) != null) {
String judge = line.replace("\t", "").replace(" ", "")
.replace("\r", "").replace("\n", "")
.replace("\r\n", "");
if(!judge.startsWith("/*") && !judge.endsWith("*/")
&& !judge.startsWith("*") && !judge.startsWith("//")
&& judge.length()>0) {
sb.append(line);
sb.append("\r\n");
}
}
br.close();
}