軟體工程第三個程式:“WC項目” —— 檔案資訊統計(Word Count ) 命令列程式

來源:互聯網
上載者:User

標籤:

軟體工程第三個程式:“WC項目” —— 檔案資訊統計(Word Count ) 命令列程式

格式:wc.exe [parameter][filename]

在[parameter]中,使用者通過輸入參數與程式互動,需實現的功能如下:

1、準系統

支援 -c 統計檔案字元數
支援 -w 統計檔案單詞數
支援 -l 統計檔案總行數


2、拓展功能

支援 -a 返回進階選項(程式碼 空行 注釋行)
支援 -s 遞迴處理合格檔案


3、進階功能

支援 -x 程式以圖形介面與使用者互動

[filename] 是待處理檔案名稱。

準系統

主函數裡用String字串接收使用者輸入,並分解成參數數組 和 檔案地址。

編寫BaseCount()函數實現對檔案的讀操作,逐行統計統計字元數,並記錄行數,同時使用StringBuffer類記錄檔案中所有的資訊。最後一起統計 詞數,避免在逐行計詞時,把標點計為一詞。

編寫Response()函數根據使用者輸入的參數輸出資訊,這裡程式不管使用者輸入的參數是什麼,都在讀取檔案的時候把所有資訊都記錄下來並儲存,使用者輸入的參數裡有什麼輸出什麼。

Java編寫的程式 可以在cmd.exe裡調用運行,提升一下bigger,輸出的結果

案頭上123.txt的內容如下:

using System;namespace OneProgram{    class Program        {    Console.Write("wc.exe");    }}

 

拓展功能

參數 -s 的使用效果為:參數中帶有“-s”,檔案的名稱為“*.XXX”,輸出所有的.XXX檔案的資訊。

相當於先找到所有該目錄下的檔案,然後判斷檔案的類型,再把符合的檔案進行檔案資訊統計,最後輸出。

那就直接再寫一個ResponseforS()函數來專門處理參數帶“-s”的命令,首先記錄其他參數,分離檔案路徑 與 檔案類型;定義字串數組記錄檔案路徑下的所有檔案名稱;與使用者輸入的檔案類型比較,對符合的檔案進行檔案資訊統計,輸出;迴圈 比較 輸出;

輸出的結果

參數 -a 的使用效果為:參數中帶有“-a”,輸出檔案的空行、碼行、注釋行的統計資訊。

該功能與準系統類似,直接在BaseCount()函數裡改寫,函數名改為BaseAndAdvanceCount()。

在程式對檔案讀行的時候判斷該行的長度,判斷是否為空白行,判斷是否有連續的“/”,來判斷是否為注釋行,如果既不是空行 也不是注釋行,則為程式碼。

輸出的結果

案頭上123.txt裡的內容改為:

using System;namespace OneProgram{////    class Program    {    Console.Write("wc.exe");    }}//without copyright

 

進階功能

參數 -x 的使用效果為:只輸入“-x”,彈出檔案選擇對話方塊,選擇檔案後輸出該檔案的所有資訊。

這裡仍然為參數 “-x” 建立一個獨立的函數ResponseforX(),建立顯示一個檔案選擇對話方塊,選中某個檔案後返回該檔案的絕對路徑,交給BaseAndAdvanceCount()函數 與 Response()函數。輸出所有資訊。

操作過程與輸出的結果

案頭上123.txt裡的內容沒變。

至此所有的功能已基本實現 :)

所有的代碼已上傳至Coding,Coding:先等著。。。

                                                                                                                                                          J.X.Dinosaur

 

軟體工程第三個程式:“WC項目” —— 檔案資訊統計(Word Count ) 命令列程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.