以前做的一些小玩意兒(二)
無聊啊,陸續把以前做的一些小玩意兒共享一下。由于時間比較長了,那時候設計能力有限,現在也沒時間維護,如果發現bug就別用了,望體諒。第二個是叫K File Converter,程序大小200k。下載鏈接:http://files.cppblog.com/bobquain/KFC_V1.1.1_CN_Setup.zip
以前在CSDN的下載:http://download.csdn.net/source/182300
K File Converter
可擴展批量文件轉換器
1. Introduction
大多數編程人員在開發過程中經常會需要某種文件轉換操作,如:
1 批量的文件改名。
2 把文件轉換成Dos格式,Unix格式或Mac格式。
3 把文件轉換成Shift-JIS碼,EUC碼或JIS碼。
4 把文件從本地編碼轉換成ASCII碼,或者從ASCII碼轉換成本地編碼。
這些轉換工具有的是系統自帶的,有的是第三方的免費工具,而有些則需要自己開發。
但是這些工具往往沒有圖形界面,或者不支持對文件夾的操作和對特定文件的過濾。
K File Converter正是為了解決這個問題而設計,用戶無論是使用別人的工具還是自己開發的工具,都無需為了對圖形界面和對文件夾以及文件過濾的支持而浪費時間。
2. How To Use
K File Converter界面比較易懂,參照下圖做一下簡單介紹:
1 輸入文件夾:被轉換文件所在路徑。
2 輸入文件名格式:輸入文件名過濾,*代表任意字符串,?代表任意字符,每個文件名格式用|隔開。
3 輸入刷新:[6]沒有選中的情況下,當[1]或[2]發生改變或[1]指定路徑中文件變更時,點擊此按鈕進行樹形視圖[4]的刷新。
4 輸入視圖:所有符合[2]過濾條件的文件都以樹形方式顯示在此視圖中。
5 包含子文件夾:選中情況下,對[1]指定文件夾和所有它的子文件夾中的文件進行過濾;沒選中情況下,不對子文件夾進行過濾。
6 輸入自動刷新:選中情況下,當[1]或[2]發生改變時,自動刷新[4]視圖。但是,[1]的指定路徑中有文件變更時,需點擊按鈕[4]進行刷新。沒選中情況下,不進行自動刷新。
7 輸出文件夾:轉換后文件的輸出路徑。
8 輸出文件名格式:輸出文件格式,可引用變量:${prefix}代表輸入文件名前綴,${suffix}代表輸入文件名后綴(也就是擴展名)。${prefix}和${suffix}可不引用或引用多次。
9 輸出刷新:[11]沒有選中的情況下,當[7]或[8]發生改變或[1]指定路徑中文件變更時,點擊此按鈕進行[4]樹形視圖的刷新。
10 輸出視圖:按照[8]中格式以樹形方式顯示所有輸出文件的預覽。
11 輸出自動刷新:選中情況下,當[7]或[8]發生改變時,自動刷新[10]視圖。但是,[7]的指定路徑中文件變更時,需點擊按鈕[9]進行刷新;沒選中情況下,不進行自動刷新。
12 轉換器選擇:指定轉換所用轉換器。預置的轉換器主要有4種,共13個:
(1) 文件改名(復制原文件)。
(2) 文件改名(移動原文件)。
(3) 文件行結束符轉換成Dos格式(CRLF)。
(4) 文件行結束符轉換成Unix格式(LF)。
(5) 文件行結束符轉換成Mac格式(CR)。
(6) 文件編碼轉換為Shift-JIS碼(自動判斷輸入文件的編碼)。
(7) 文件編碼轉換為EUC碼(自動判斷輸入文件的編碼)。
(8) 文件編碼轉換為New-JIS碼(自動判斷輸入文件的編碼)。
(9) 文件編碼轉換為Old-JIS碼(自動判斷輸入文件的編碼)。
(10) 文件編碼轉換為Nec-JIS碼(自動判斷輸入文件的編碼)。
(11) 文件MD5驗證碼的生成(MD5加密:目前國外大多數網站提供的下載文件的驗證碼)。
(12) 文件編碼從本地編碼轉換為ASCII碼(轉換器為JDK中提供的native2ascii.exe程序,不會自動判斷輸入文件的編碼;還有,使用前用戶要手動修改JDK的路徑)。
(13) 文件編碼從ASCII碼轉換為本地編碼(轉換器為JDK中提供的native2ascii.exe程序,不會自動判斷輸入文件的編碼;還有,使用前用戶要手動修改JDK的路徑)。
13 配置轉換器:點擊打開轉換器配置窗口。具體使用見[3.How To Extend]。
14 運行/停止:運行轉換/停止轉換。顯示為"Run"時,點擊后開始運行,運行中名稱變為"Stop",點擊可停止轉換。轉換停止或全部結束后,名稱變為"Run"。
15 日志:顯示錯誤和轉換結果信息。
3. How To Extend
用戶如果想增加轉換器,可點擊上圖中按鈕[13],打開轉換器配置窗口。轉換器可以是任何命令行的執行程序,包括cmd.exe,java.exe和提供命令行參數的GUI執行程序。注意:轉換器至少需要有輸入文件和輸出文件兩個參數。
轉換器配置界面也非常簡單,通過下圖做一下簡單介紹:
1 轉換器列表:顯示轉換器列表。
2 新建:做成新的轉換器。
3 復制:做成新的轉換器并復制當前轉換器配置到新做成的轉換器。
4 刪除:刪除當前選擇的轉換器。
5 上移:當前選擇的轉換器上移一格。
6 下移:當前選擇的轉換器下移一格。
7 標題:轉換器的標題。
8 執行文件:轉換器運行的執行文件。
9 參數:[8]中指定執行文件的參數。可引用變量:${infile}為輸入文件,${outfile}為輸出文件,${location}為執行文件所在文件夾。
10 工作路徑:[8]中指定執行文件的工作路徑。可引用變量:${location}為執行文件所在文件夾。
11 OK:保存所有修改并關閉配置窗口。
12 Cancel:取消所有修改并關閉配置窗口。
4. Improve
對比之前發布的beta版,正式版V1.0.0主要的改進如下:
1 輸入視圖和輸出視圖做到近乎完美的同步。
2 增加了輸入視圖和輸出視圖的自動刷新,并提供開關。當文件比較多,嚴重影響自動刷新時,可關閉自動刷新功能。
3 轉換器配置窗口中增加了[Copy]按鈕。
4 解決了轉換器配置窗口中點擊上移,下移或刪除按鈕之后回到主窗口進行文件轉換,所選轉換器會錯亂的bug。
5 增加了轉換停止的功能,這樣可以以正常方式停止當前的轉換操作;并且轉換期間中不影響圖形界面操作。
6 預置了更多實用的轉換器,如:行結尾符的轉換和文件編碼的轉換。
7 文件改名轉換器沒有采用"cmd.exe /c copy",原因是速度稍慢。
V1.1.0的改進如下:
1 增加了托拽功能:用戶可以從Explorer中托拽文件或文件夾到[Input/Output]組中。如果托拽的是文件夾,文件夾的絕對地址將寫到Input Directory或Output Directory中。
如果托拽的是文件,文件所在文件夾的絕對地址將寫到Input Directory或Output Directory中,文件名稱將寫到File Name Patterns中。
2 將Input Directory/Output Directory和File Name Patterns的編輯框變成了可輸入的ComboBox框,并增加了保存歷史記錄的功能。
3 增加了手動刷新的快捷鍵(F5)。當輸入焦點在Input區域時,刷新輸入視圖;當輸入焦點在Output區域時,刷新輸出視圖。
V1.1.1的改進如下:
1 修正了File Name Patterns對文件過濾時嚴格區分大小寫的Bug。
2 將Input Directory/Output Directory瀏覽對話框的初始路徑設定為當前輸入框中的路徑。