qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          Java中讀取文件進度條的實現

           實現功能描述:
            當讀取一個大文件時,一時半會兒無法看到讀取結果,就需要顯示一個進度條,是程序員明白已經讀了多少文件,可以估算讀取還需要多少時間。
            實現這個功能比較簡單,用到的類有兩個:ProgressMonitorInputStream(主要是整個類) 和 ProgressMonitor ,它們在javax.swing中
            大體思路,你要首先知道整個文件的大小,和當前已經讀取文件的大小,獲得整個文件大小的方法
          ProgressMonitorInputStream monitor;
          /**
          * @param 表示此進度條要依附在哪個組件上
          * @param 顯示在此進度條上的消息
          * @param 需要監控的輸入流
          */
          monitor = new ProgressMonitorInputStream(null, "Loading ",new FileInputStream("filename path"));
          int all = monitor.available();//整個文件的大小
          int in = monitor.read(data);//每次讀取文件的大小
            例如:你每次讀一行str=in.readLine();則data=str.instr.getBytes()+1;這里+1,主要是為了獲得換行符的字節數,否則,最后獲得的進步無法達到100%
            int readed=0;//表示已經讀取的文件
            reader+=in;//累加讀取文件大小
            計算進度:
            float process = (float) readed / all * 100;// 算出百分比
            窗口顯示:
            progressMonitor.setNote("archived " + process + " %");// 顯示在進度條上

          posted on 2014-01-06 14:01 順其自然EVO 閱讀(380) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2014年1月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平顶山市| 泾阳县| 小金县| 苏州市| 鹤岗市| 武邑县| 海原县| 青川县| 乌鲁木齐县| 彰化市| 佛山市| 嘉鱼县| 武川县| 衢州市| 通榆县| 全南县| 永靖县| 武邑县| 泽普县| 昆明市| 莱西市| 万年县| 辉南县| 青龙| 资阳市| 仙居县| 洛扎县| 宜宾县| 洪湖市| 文化| 昌图县| 佳木斯市| 定襄县| 金堂县| 伊吾县| 朝阳市| 青冈县| 龙游县| 芦溪县| 宜城市| 海丰县|