J2SE
【Java基礎專題】IO與文件讀寫---優(yōu)化搜索程序(01)
摘要: Apache commons CLI是一個開源的,用于處理命令行的工具包。這個包目前的穩(wěn)定版本是1.2,他非常簡單只有20個左右的class,但提供了幾乎所以可以用到的命令行功能。它的主頁在這里:Apache commons CLI
根據(jù)CLI的邏輯,每一個命令行的處理都可以分為3個步驟:定義、解析、交互
①定義:定義命令行的各種選項屬性(包括縮寫、全寫、是否必須、是否帶參數(shù)、參數(shù)個數(shù)限制)
②解析:使用解析器對命令行選項列表進行解析
③交互:從解析好的命令行查詢用戶輸入的參數(shù)值并進行處理 閱讀全文
根據(jù)CLI的邏輯,每一個命令行的處理都可以分為3個步驟:定義、解析、交互
①定義:定義命令行的各種選項屬性(包括縮寫、全寫、是否必須、是否帶參數(shù)、參數(shù)個數(shù)限制)
②解析:使用解析器對命令行選項列表進行解析
③交互:從解析好的命令行查詢用戶輸入的參數(shù)值并進行處理 閱讀全文
【Java基礎專題】IO與文件讀寫---DirectoryWalker和FileFilter的復雜條件使用
摘要: 1.基本功能過濾器
=============================================
①類型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③時間:AgeFileFilter
④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
⑥隱藏屬性:HiddenFileFilter
2.邏輯關系過濾器
=============================================
①邏輯與:AndFileFilter
②邏輯或:OrFileFilter
③邏輯非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil 閱讀全文
=============================================
①類型:DirectoryFileFilter、FileFileFilter
②大小:EmptyFileFilter、SizeFileFilter
③時間:AgeFileFilter
④名稱:NameFileFilter、PrefixFileFilter、SuffixFileFilter、RegexFileFilter、WildcardFileFilter
⑤讀寫屬性:CanReadFileFilter、CanWriteFileFilter
⑥隱藏屬性:HiddenFileFilter
2.邏輯關系過濾器
=============================================
①邏輯與:AndFileFilter
②邏輯或:OrFileFilter
③邏輯非:NotFileFilter
④永真/假:TrueFileFilter、FalseFil 閱讀全文
【Java基礎專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進行搜索
摘要: Apache commons IO包中提供了一個可以遍歷目錄下資源的DirectoryWalker,還有很多的IOFileFilter用于過濾文件目錄。下面的例子分別演示了這個功能。
這兩個搜索類都是以內部類的方式嵌入客戶端的,客戶端接收客戶的參數(shù),然后通過一個后臺線程來進行搜索,等待子線程完成搜索后(join方法),再打印搜索結果。
注意這個過程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過調用內部類的cancel()方法。內部cancel:在handleDirectory、handleFile中主動拋出CancelException。
walk方法在每次執(zhí)行前、后都會檢查當前是否有cancel指令發(fā)出(checkIfCancelled ---> handleIsCancelled),如果有那么默認立刻拋出CancelException,然后調用handleCancelled方法。 閱讀全文
這兩個搜索類都是以內部類的方式嵌入客戶端的,客戶端接收客戶的參數(shù),然后通過一個后臺線程來進行搜索,等待子線程完成搜索后(join方法),再打印搜索結果。
注意這個過程是可以被cancel的。cancel主要有2種情況。外部cancel:外部線程通過調用內部類的cancel()方法。內部cancel:在handleDirectory、handleFile中主動拋出CancelException。
walk方法在每次執(zhí)行前、后都會檢查當前是否有cancel指令發(fā)出(checkIfCancelled ---> handleIsCancelled),如果有那么默認立刻拋出CancelException,然后調用handleCancelled方法。 閱讀全文
【Java基礎專題】IO與文件讀寫---對同步/異步和阻塞/非阻塞的理解
摘要: ①同步的操作,如果在等待的過程不能做別的事情,它是同步+阻塞的。這個也是最常見的
②同步的操作,如果在等待的過程可以做別的事情,它是同步+非阻塞的。
③異步的操作,如果在等待的過程不能做別的事情,它是異步+阻塞的。
④異步的操作,如果在等待的過程可以做別的事情,它是異步+非阻塞的。這個也是最常見的 閱讀全文
②同步的操作,如果在等待的過程可以做別的事情,它是同步+非阻塞的。
③異步的操作,如果在等待的過程不能做別的事情,它是異步+阻塞的。
④異步的操作,如果在等待的過程可以做別的事情,它是異步+非阻塞的。這個也是最常見的 閱讀全文
【Java基礎專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區(qū)別(轉)
摘要: 同步/異步:消息通知機制。是自己主動關注消息還是靠別人通知
阻塞/非阻塞:消息處理機制。等待消息處理完成的過程能否做別的事情 閱讀全文
阻塞/非阻塞:消息處理機制。等待消息處理完成的過程能否做別的事情 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO包進行資源遍歷
摘要: 要使用DirectoryWalker來遍歷一個目錄并進行相應的操作,步驟如下:
①創(chuàng)建一個繼續(xù)于DirectoryWalker的類,并在構造方法中調用super();
②定義一個業(yè)務入口方法,例如clean。在這個方法中調用walk方法
③覆蓋DirectoryWalker類的handleDirectory方法,提供相應的處理邏輯
④覆蓋DirectoryWalker類的handleFile方法,提供相應的處理邏輯 閱讀全文
①創(chuàng)建一個繼續(xù)于DirectoryWalker的類,并在構造方法中調用super();
②定義一個業(yè)務入口方法,例如clean。在這個方法中調用walk方法
③覆蓋DirectoryWalker類的handleDirectory方法,提供相應的處理邏輯
④覆蓋DirectoryWalker類的handleFile方法,提供相應的處理邏輯 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
摘要: 它們可以分為兩大類:
①實質性過濾器:例如針對文件的類型,屬性,名稱,大小進行過濾的過濾器
②過濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個過濾器 閱讀全文
①實質性過濾器:例如針對文件的類型,屬性,名稱,大小進行過濾的過濾器
②過濾器連接器:典型的包括AndFileFilter、OrFileFilter。用于邏輯連接多個過濾器 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO操縱底層讀寫
摘要: 對IOUtils類的剖析 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
摘要: FileUtils總體上來說,主要功能有:
※ 資源的創(chuàng)建、刪除
※ 資源的復制、移動
※ 資源的讀寫
※ 資源的比較
※ 資源的過濾
※ 資源的轉換 閱讀全文
※ 資源的創(chuàng)建、刪除
※ 資源的復制、移動
※ 資源的讀寫
※ 資源的比較
※ 資源的過濾
※ 資源的轉換 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons IO包規(guī)范文件名
摘要: 使用Apache commons IO包規(guī)范文件名 閱讀全文
【Java基礎專題】IO與文件讀寫---使用Apache commons io包提高讀寫效率
摘要: 本文通過對Apache commons io包的input,output子類的源代碼研究,來揭示為什么使用commons IO包會在性能上由于JDK自帶的IO類。
特別是輸出流方面 閱讀全文
特別是輸出流方面 閱讀全文
【Java基礎專題】IO與文件讀寫---Java的IO流架構
摘要: 使用圖例全面展示Java中IO的架構,特別是節(jié)點流和過濾流及其之間的轉換 閱讀全文
【Java基礎專題】編碼與亂碼(08)---JavaEE防止中文亂碼的設置
摘要: 良好的編程習慣,對編碼和數(shù)據(jù)傳輸流程的清晰認識,規(guī)范的配置是確保JavaEE應用不會出現(xiàn)亂碼的三大法寶 閱讀全文
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
27 | 28 | 29 | 30 | 1 | 2 | 3 | |||
4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
11 | 12 | 13 | 14 | 15 | 16 | 17 | |||
18 | 19 | 20 | 21 | 22 | 23 | 24 | |||
25 | 26 | 27 | 28 | 29 | 30 | 31 | |||
1 | 2 | 3 | 4 | 5 | 6 | 7 |
常用鏈接
留言簿(21)
隨筆分類
- J2EE 框架(9)
- J2EE基礎(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開發(fā)(13)
- Oracle 管理(4)
- Oracle 調優(yōu)
- Oracle 錯誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(19)
- 其它技術(7)
- 感悟(3)
- 雜項(7)
- 架構與性能(8)
- 模式與重構(19)
- 灌水(8)
- 電影與音樂(16)
- 走過的路(1)
- 軟件過程與軟件方法(3)
- 陽光戶外(2)
- 項目管理(36)
隨筆檔案
- 2012年2月 (3)
- 2011年11月 (4)
- 2011年10月 (1)
- 2011年9月 (2)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年6月 (3)
- 2011年5月 (1)
- 2011年4月 (1)
- 2011年3月 (3)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年11月 (5)
- 2010年10月 (3)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年5月 (4)
- 2010年4月 (9)
- 2010年3月 (19)
- 2010年2月 (8)
- 2010年1月 (3)
- 2009年12月 (34)
- 2009年11月 (1)
- 2009年10月 (2)
- 2009年7月 (4)
- 2009年6月 (5)
- 2009年5月 (3)
- 2009年4月 (2)
- 2009年3月 (1)
- 2009年2月 (5)
- 2009年1月 (5)
- 2008年12月 (13)
- 2008年11月 (4)
- 2008年10月 (1)
- 2008年9月 (6)
- 2008年8月 (5)
- 2008年7月 (3)
- 2008年6月 (31)
- 2008年5月 (10)
- 2008年4月 (9)
- 2008年3月 (7)
- 2008年2月 (4)
- 2008年1月 (19)
BlogJava熱點博客
好友博客
搜索
最新評論

- 1.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 666666666666666666666這幾天正在做個類似工程編碼出現(xiàn)錯誤
- --李
- 2.?re: 【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
- 不錯
- --阿斯蘭
- 3.?re: 【Java基礎專題】編碼與亂碼(03)----String的toCharArray()方法
- 多謝分享
- --thx
- 4.?re: 【Java基礎專題】編碼與亂碼(05)---GBK與UTF-8之間的轉換
- 評論內容較長,點擊標題查看
- --karl
- 5.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 謝謝,幫了我大忙!
- --小龍