多行注釋,將鼠標(biāo)移到被注釋內(nèi)容,按ctrl+shift+\可以取消注釋
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的上虞網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
單行注釋,按ctrl+/可以取消注釋
需要一個(gè)標(biāo)識(shí)符,標(biāo)識(shí)多行注釋是否開(kāi)始
讀取一行:
(1)判斷此行內(nèi)是否包含“/*“,如果包含,定位到“/*“第一個(gè)字符,并標(biāo)識(shí)多行注釋開(kāi)始,繼續(xù)判斷當(dāng)前讀取行是否包含"*/",如果包含,注釋部分刪除,其他寫回文件,未包含刪除,及以后的只判斷多行結(jié)束,直至判斷到多行注釋結(jié)束,把注釋部分刪除
(2)多行注釋未開(kāi)始,則判斷此行內(nèi)是否包含“//“,如果包含,定位到“//“第一個(gè)字符,把后面的全部刪除,注意多行注釋開(kāi)始的當(dāng)前行,還要再判斷一次“//“,因?yàn)閖ava支持以下注釋
//單行注釋/*
*多行注釋
*/
其實(shí)在代碼當(dāng)中適當(dāng)加點(diǎn)注釋,對(duì)自己、別人閱讀代碼以及以后維護(hù)都是有好處的,沒(méi)必要?jiǎng)h除全部的注釋,而且編譯會(huì)跳過(guò)注釋部分,就算你把一部武俠小說(shuō)加到代碼注釋里,也不會(huì)影響編譯出來(lái)的文件大小的
批量去掉Java文件中的注釋,可以使用正則表達(dá)式進(jìn)行批量操作,代碼如下:
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();?//?創(chuàng)建文件夾??
}??
if?(srcFile.getName().endsWith(".java"))?{??
copyJava(srcFile,?descFile);??
}?else?{??
copyFile(srcFile,?descFile);??
}??
}?else?{?//?文件夾??
for?(File?file?:?srcFile.listFiles())?{??
//?相對(duì)路徑??
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("/\\*?????\\*/",?""));?//?注意這里,如果不行,要適當(dāng)修改??
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();??
}??
}
選中代碼 ctrl+/ 是每一行代碼前面加注釋 //
ctrl+shift+/ 是/* */注釋
取消是同樣的操作,已有注釋的就會(huì)取消沒(méi)有就會(huì)加注釋(前提是你已經(jīng)設(shè)置了快捷鍵,我說(shuō)的這些是默認(rèn)的快捷鍵eclipse中的)