經(jīng)過(guò)幾天的奮戰(zhàn),終于有點(diǎn)成果。但是的確是傷了不少腦筋。
Mission: 檢測(cè)出java類中的所有的方法,以及這些方法在文件位于哪兩行之間.
碰到的問(wèn)題:
1. 對(duì)付重載函數(shù)。
2. 如果一個(gè)方法占多行。
怎么解決:
1.利用反射得到他們所有的參數(shù),但是某一行是不是含有所有的這樣的參數(shù)。
2.根據(jù){來(lái)判斷,如果讀到的當(dāng)前行包含方法的聲明,但是不包含{,那么此時(shí)就要保存好當(dāng)前Readline讀取的內(nèi)容,然后可以用StringBuffer append一下,在下一個(gè)Readline再做比較。
不支持:
比如
public static void main(String[] args)和? // 不支持。因?yàn)榕袛嗟臅r(shí)候,前面是作為一個(gè)整體來(lái)判斷的。
public static? void main(String[] args),
當(dāng)然這點(diǎn)我們完全可以實(shí)現(xiàn)。:)
敢興趣的朋友可以和我聯(lián)系:
hut@hf.webex.com
posted on 2006-09-30 17:12
自己的小屋 閱讀(818)
評(píng)論(0) 編輯 收藏