您的位置:首页技术文章
文章详情页

删除java的注释信息

【字号: 日期:2024-06-11 17:57:05浏览:39作者:猪猪
内容: import java.util.regex.*;import java.io.*;import util9.*;//某些java文件注释信息过多从而影响了可读性。利用此类可解决这个问题。//使用方法略。public class DelNoteInJavaFile { static BufferedReader br; static BufferedWriter bw; static String suffix='.noNote.java'; public DelNoteInJavaFile() { String message='input file name:'; String ret=Read9.stringFromControl(message); if(inJava(new File(ret)))System.out.println('successed'); else System.out.println('failed'); } public DelNoteInJavaFile(String f) { if(inJava(new File(f)))System.out.println('successed'); else System.out.println('failed'); } public DelNoteInJavaFile(File f) { if(inJava(f)) System.out.println('successed'); else System.out.println('failed'); } public static boolean check(File f) { if (!f.exists()) { System.err.println('wrong1.file not exists'); return false; } if (!f.isFile()) { System.err.println('wrong2.abstract file is not a file'); return false; } return true; } public static boolean inJava(File f) { if(check(f)==false ) return false ; File ff = new File(f.getName() + suffix); if (ff.exists()) { System.out.println('wrong3'); return false; } String s, ss; try { ff.createNewFile(); br = new BufferedReader(new FileReader(f)); bw = new BufferedWriter(new FileWriter(ff)); //the slash is char '/',the star is char '*'. Pattern slash_star_start = Pattern.compile('/*.*');//just like:/*.... Pattern star_slash = Pattern.compile('^.**/'); Pattern slash_star_both = Pattern.compile('/*.**/'); Pattern slash2 = Pattern.compile('s{0,}//'); // Pattern star = Pattern.compile('s{0,}*'); Matcher mat; int i = 0; boolean note = false; while ( (s = br.readLine()) != null) { //deal with such string:... /*...*/.... if(s.trim().length()==0) continue; s = s.replaceAll(slash_star_both.pattern(), ''); //deal with:....//.... mat = slash2.matcher(s); if (mat.find()&¬e==false) { System.out.println('s1='+s); s = s.substring(0, mat.start()); if (s.trim().length() == 0)continue; bw.write(s); bw.newLine(); continue; } //deal with:...*/... mat = star_slash.matcher(s); if (mat.find()) { note = false; System.out.println('s2='+s); s = s.substring(mat.end()); if (s.trim().length() == 0) { continue; } } if (note == true) { continue; } //deal with:..../*.... mat = slash_star_start.matcher(s); if (mat.find()) { note = true; System.out.println('s=' + s); s = s.substring(0, mat.start()); System.out.println('s1=' + s + ',mat.start()=' + mat.start()); if (s.trim().length() == 0) { continue; } } bw.write(s); bw.newLine(); } br.close(); bw.close(); /* if (f.renameTo(new File(ff.getName() + '.bak'))) { System.out.println('backup file is:' + ff.getName() + '.bak'); if( ff.renameTo(f)) System.out.println('output file is:'+f.getName()); else {System.out.println('wrong53');return false;} } else { System.out.println('wrong55'); return false; } */ } catch (IOException e) { e.getMessage(); return false; } return true; } public static boolean inJava(String s) { return inJava(new File(s)); } public static void main(String a[]) {if(a.length==0)new DelNote9(); else new DelNoteInJavaFile(a[0]); }} Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
标签: Java
相关文章: