J2SE
【Java基礎專題】IO與文件讀寫---優化搜索程序(01)
摘要: Apache commons CLI是一個開源的,用于處理命令行的工具包。這個包目前的穩定版本是1.2,他非常簡單只有20個左右的class,但提供了幾乎所以可以用到的命令行功能。它的主頁在這里:Apache commons CLI
根據CLI的邏輯,每一個命令行的處理都可以分為3個步驟:定義、解析、交互
①定義:定義命令行的各種選項屬性(包括縮寫、全寫、是否必須、是否帶參數、參數個數限制)
②解析:使用解析器對命令行選項列表進行解析
③交互:從解析好的命令行查詢用戶輸入的參數值并進行處理
閱讀全文
posted @
2010-04-02 14:20 Paul Lin 閱讀(1072) |
評論 (0) 編輯
【Java基礎專題】IO與文件讀寫---DirectoryWalker和FileFilter的復雜條件使用
摘要: 1.基本功能過濾器
=============================================
①類型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③時間:AgeFileFilter
④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
⑥隱藏屬性:HiddenFileFilter
2.邏輯關系過濾器
=============================================
①邏輯與:AndFileFilter
②邏輯或:OrFileFilter
③邏輯非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil
閱讀全文
posted @
2010-04-01 17:52 Paul Lin 閱讀(3169) |
評論 (1) 編輯
【Java基礎專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進行搜索
摘要: Apache commons IO包中提供了一個可以遍歷目錄下資源的DirectoryWalker,還有很多的IOFileFilter用于過濾文件目錄。下面的例子分別演示了這個功能。
這兩個搜索類都是以內部類的方式嵌入客戶端的,客戶端接收客戶的參數,然后通過一個后臺線程來進行搜索,等待子線程完成搜索后(join方法),再打印搜索結果。
注意這個過程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過調用內部類的cancel()方法。內部cancel:在handleDirectory、handleFile中主動拋出CancelException。
walk方法在每次執行前、后都會檢查當前是否有cancel指令發出(checkIfCancelled ---> handleIsCancelled),如果有那么默認立刻拋出CancelException,然后調用handleCancelled方法。
閱讀全文
posted @
2010-03-31 23:45 Paul Lin 閱讀(2571) |
評論 (1) 編輯
【Java基礎專題】IO與文件讀寫---對同步/異步和阻塞/非阻塞的理解
摘要: ①同步的操作,如果在等待的過程不能做別的事情,它是同步+阻塞的。這個也是最常見的
②同步的操作,如果在等待的過程可以做別的事情,它是同步+非阻塞的。
③異步的操作,如果在等待的過程不能做別的事情,它是異步+阻塞的。
④異步的操作,如果在等待的過程可以做別的事情,它是異步+非阻塞的。這個也是最常見的
閱讀全文
posted @
2010-03-10 15:36 Paul Lin 閱讀(2791) |
評論 (2) 編輯
【Java基礎專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區別(轉)
摘要: 同步/異步:消息通知機制。是自己主動關注消息還是靠別人通知
阻塞/非阻塞:消息處理機制。等待消息處理完成的過程能否做別的事情
閱讀全文
posted @
2010-03-10 14:54 Paul Lin 閱讀(2638) |
評論 (0) 編輯
【Java基礎專題】IO與文件讀寫---使用Apache commons IO包進行資源遍歷
摘要: 要使用DirectoryWalker來遍歷一個目錄并進行相應的操作,步驟如下:
①創建一個繼續于DirectoryWalker的類,并在構造方法中調用super();
②定義一個業務入口方法,例如clean。在這個方法中調用walk方法
③覆蓋DirectoryWalker類的handleDirectory方法,提供相應的處理邏輯
④覆蓋DirectoryWalker類的handleFile方法,提供相應的處理邏輯
閱讀全文
posted @
2010-03-09 00:26 Paul Lin 閱讀(3531) |
評論 (1) 編輯
【Java基礎專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
摘要: 它們可以分為兩大類:
①實質性過濾器:例如針對文件的類型,屬性,名稱,大小進行過濾的過濾器
②過濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個過濾器
閱讀全文
posted @
2010-03-09 00:02 Paul Lin 閱讀(1358) |
評論 (0) 編輯
【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
摘要: FileUtils總體上來說,主要功能有:
※ 資源的創建、刪除
※ 資源的復制、移動
※ 資源的讀寫
※ 資源的比較
※ 資源的過濾
※ 資源的轉換
閱讀全文
posted @
2010-03-08 15:07 Paul Lin 閱讀(6583) |
評論 (1) 編輯
【Java基礎專題】IO與文件讀寫---使用Apache commons io包提高讀寫效率
摘要: 本文通過對Apache commons io包的input,output子類的源代碼研究,來揭示為什么使用commons IO包會在性能上由于JDK自帶的IO類。
特別是輸出流方面
閱讀全文
posted @
2010-03-04 10:28 Paul Lin 閱讀(5653) |
評論 (0) 編輯
【Java基礎專題】IO與文件讀寫---Java的IO流架構
摘要: 使用圖例全面展示Java中IO的架構,特別是節點流和過濾流及其之間的轉換
閱讀全文
posted @
2010-03-02 09:47 Paul Lin 閱讀(4331) |
評論 (3) 編輯
【Java基礎專題】編碼與亂碼(08)---JavaEE防止中文亂碼的設置
摘要: 良好的編程習慣,對編碼和數據傳輸流程的清晰認識,規范的配置是確保JavaEE應用不會出現亂碼的三大法寶
閱讀全文
posted @
2010-02-24 10:25 Paul Lin 閱讀(4331) |
評論 (1) 編輯
Full J2SE Archive