發表文章

目前顯示的是 1月, 2009的文章

Java Coding Style、Code Conventions

寫程式除了讓程式能達成我們的目的之外 平常寫程式也要注意一下coding style 如同這份文件中的導論所說的: * 一套軟體的生命期 80% 都是花費在維護上。 * 任何軟體都很難從頭到尾全由原來的作者來維護。 * 程式碼慣例改善軟體的可讀性,讓工程師可以更快速完整的了解新程式碼。 * 如果你將你的原始碼當作產品,你必須確定它跟你創造的其他產品包裝的一樣好,一樣乾淨。 這就是我們要建立好的coding style的理由 Sun Microsystems 官方文件 (英文) Code Conventions for the JavaTM Programming Language 中文版 http://www.javaworld.com.tw/jute/post/view?bid=20&id=27897&sty=1&tpg=1&age=-1

Java:日期時間格式化輸出入處理:Date、Calendar、SimpleDateFormat

在使用Java的這些日子裡, Java中的日期時間格式處理總是讓我覺得有些混亂不夠直覺。 例如我想要知道2009/1/1是星期幾, 那就要經過不少步的處理轉換才能得知正確的答案。 程式如下: 其中第一種方式可以接受我們常用的日期格式 2009/1/1 或 2009/01/01, 第二種看起來比較簡便但就必須自己把年月日分開再輸入呼叫程式, 其中年和日可以直接輸入2009和1,但月份的地方要特別注意, 最好使用 Calendar.月份的方式輸入, 因Calendar . JANUARY的 int值是 0而非1 。 若直接以月份輸入的話會出錯! (2011.11.24更新) 在程式的最下面補充如何格式化印出現在的時間。 只要先用 Date() 取得現在的日期時間, 再用SimpleDateFormat格式化即可。 1 package demo ; 2 3 import java . text . DateFormat ; 4 import java . text . ParseException ; 5 import java . text . SimpleDateFormat ; 6 import java . util . Calendar ; 7 import java . util . Date ; 8 9 public class SimpleDateFormatDemo { 10 11 public static void main ( String [] args ) throws ParseException { 12 13 // 準備輸出的格式,如:星期四 2009/01/01 14 SimpleDateFormat sdf = new SimpleDateFormat ( "E yyyy/MM/dd" ); 15 16 // 利用 DateFormat 來parse 日期的字串 17 DateFormat df = DateFormat . getDateInstance (); 18 Date date = df . pa...

利用Jakarta.Commons.HttpClient抓取網頁、網站(Parser)

HttpClient 已推出 4.x 版,若您要使用最新的版本請看: Apache HttpClient 4.x 使用 GET, POST 範例 在撰寫程式的時候有時會我們需要取回網路上的資料做處理 或者是要以程式模擬Client端發出request 這時候我們就可以使用 Jakarta.Commons.HttpClient 來完成 Jakarta.Commons.HttpClient使用到下列的函式庫 Apache Commons HttpClient 3.x 、 Apache Commons Codec 及 Apache Commons Logging 三者必須在使用前就都設好classpath否則在執行時會出錯 依 [Jakarta Commons] HttpClient模擬Client端發出request 的介紹 Jakarta.Commons.HttpClient 能支援許多功能,例如: 實作所有的 HTTP methods (GET, POST, PUT, DELETE,HEAD, OPTIONS, and TRACE) 支援 HTTPS 的協定 支援 proxies 的各種情況 支援認證機制 自動的 cookie 處理模式 .....等等 更多介紹可連回 [Jakarta Commons] HttpClient模擬Client端發出request 查看 以下有幾個比較完整的 Get 和 Post的範例程式連結: Get範例: [Jakarta Commons] HttpClient模擬Client端發出request JSP精選實用範例(五):抓取網頁 Post範例: Re:TinyUrl using Jakarta HttpClient [Re:qrtt1] 更多原始的範例可以在 HttpClient Examples 看到 最後附上我自己改來用的程式碼 可能要看過上面的範例之後比較知道在做什麼 import org . apache . commons . httpclient . HttpClient ; import org . apache . commons . httpclient . HttpMethod ; import org . apache ...

java.util.regex正規式的應用:Pattern和Matcher

Regular Expression,中文稱:正規式、正規表示式、正則表示式, 在字串的比對上是無比強大的工具, 在java 1.4之後Regular Expression正式被java所支援, 若你使用Eclipse來開發Java,下面這兩個套件可在 Eclipse中幫助你測試你的Regular Expression。 Eclipse 好用套件:Regular Expression Tester Eclipse 的 plugin, http://myregexp.com/eclipsePlugin.html 而若你需要的是線上的測試工具,可以參考: Online Regular Expression Tester:線上正規式測試驗證工具網站 一般我們常用的字串操作有很多 譬如說檢查字串中是否包含某個字串 這點可以利用contains來達到 也可以利用Regular Expression來比對 除此之外Regular Expression也可以達到更多判別 例如說字串是不是由什麼特定字串開始或結束 而更強大的功能在於能將符合需求的字串濾出 只要掃過一次就能得到所有符合的項目真的非常方便 如果想得到更詳細的介紹請看 Regular Expression 簡介 語法的介紹則可參考 Java Regular Expression的學習筆記 [精華] 以下的程式簡單地示範了幾個常用的method: package demo . regex ; import java . util . regex . Matcher ; import java . util . regex . Pattern ; public class Regex { public static void main ( String [] args ) { // 測試 testString 中是否包含了 aa String testString = "ABCaaabcaac" ; System . out . println ( "String.contains(): \t " + testString ....

Java:JSON in Java 的簡單程式範例

若你要找的是打包 json.jar 的方式或想直接下載, 請到  Java:JSON.jar 下載與JSON source code 打包教學 。 JSON(JavaScript Object Notation) 因為格式簡單且用純文字方便讀取 支援了各式各樣的語言(都有相關的函式可用) 在資料處理交換上是很方便的格式 可以在這邊看到 詳細介紹 以下的程式簡單地示範了JAVA中JSON的應用 其中包含了一個 PeopleBean 及主要的程式碼 PeopleBean: 1 package werdna1222coldcodes . blogspot . com . demo . json ; 2 3 public class PeopleBean { 4 5 private String name ; 6 private int age ; 7 private boolean gender ; 8 9 public PeopleBean ( String name , int age , boolean gender ) { 10 setPeopleBean ( name , age , gender ); 11 } 12 13 public String getName () { 14 return name ; 15 } 16 17 public void setName ( String name ) { 18 this . name = name ; 19 } 20 21 public int getAge () { 22 return age ; 23 } 24 25 public void setAge ( int age ) { 26 this . age = age ; 27 } 28 29 public boolean getGender () { 30 return gende...

在blogger上使用Lightbox

圖片
Lightbox 2 使用了 Prototype Framework 和 Scriptaculous Effects Library 透過內嵌的 .js(JavaScript)和.css 達成圖片顯示的特效 這對會在blog上發表有照片的文章的部落客相當有幫助 因為只要點一下在文章中長寬受限的圖就能顯示完整的原始圖片了 首先先展示一下 Lightbox 2 實際運作的效果 點下圖片後應該就能感受到 Lightbox 2 的魅力了 如果沒辦法看到Demo請直接連結至 Lightbox 2 網頁觀看 要在blog上使用 Lightbox 2 的效果有兩個步驟 第一是要在blog本身的html中內嵌語法 以blogger來說先到 Lightbox 2 下載最新的 zip檔後解壓縮 將 css、image、js資料夾上傳至自己的網路空間 上傳完後再到版面配置中的修改html 在 <head> 和 </head> 之間加入類似以下的語法 <!-- /************************ LightBox **************************/ //--> <link href=' 你的網路空間 /css/lightbox.css' media='screen' rel='stylesheet' type='text/css' /> <script src=' 你的網路空間 /js/prototype.js' type='text/javascript' /> <script src=' 你的網路空間 /js/scriptaculous.js?load=effects,builder' type='text/javascript' /> <script src=' 你的網路空間 /js/lightbox.js' type='text/javascript' /> <!-- /************************* End LightBox *******************...