婷婷久久综合九色综合,欧美成色婷婷在线观看视频,偷窥视频一区,欧美日本一道道一区二区

<tt id="bu9ss"></tt>
  • <span id="bu9ss"></span>
  • <pre id="bu9ss"><tt id="bu9ss"></tt></pre>
    <label id="bu9ss"></label>

    當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

    java讀取文件顯示進(jìn)度條的代碼分享

     2021-01-07 16:44  來(lái)源: 網(wǎng)絡(luò)綜合   我來(lái)投稿 撤稿糾錯(cuò)

      阿里云優(yōu)惠券 先領(lǐng)券再下單

    當(dāng)讀取一個(gè)大文件時(shí),一時(shí)半會(huì)兒無(wú)法看到讀取結(jié)果,就需要顯示一個(gè)進(jìn)度條,是程序員明白已經(jīng)讀了多少文件,可以估算讀取還需要多少時(shí)間,下面的代碼可以實(shí)現(xiàn)這個(gè)功能

    實(shí)現(xiàn)這個(gè)功能比較簡(jiǎn)單,用到的類有兩個(gè):ProgressMonitorInputStream(主要是整個(gè)類) 和 ProgressMonitor ,它們?cè)趈avax.swing中

    大體思路,你要首先知道整個(gè)文件的大小,和當(dāng)前已經(jīng)讀取文件的大小,獲得整個(gè)文件大小的方法
    ProgressMonitorInputStream monitor;
    /**
    * @param 表示此進(jìn)度條要依附在哪個(gè)組件上
    * @param 顯示在此進(jìn)度條上的消息
    * @param 需要監(jiān)控的輸入流
    */
    monitor = new ProgressMonitorInputStream(null, "Loading ",new FileInputStream("filename path"));
    int all = monitor.available();//整個(gè)文件的大小
    int in = monitor.read(data);//每次讀取文件的大小

    例如:你每次讀一行str=in.readLine();則data=str.instr.getBytes()+1;這里+1,主要是為了獲得換行符的字節(jié)數(shù),否則,最后獲得的進(jìn)步無(wú)法達(dá)到100%
    int readed=0;//表示已經(jīng)讀取的文件
    reader+=in;//累加讀取文件大小

    float process = (float) readed / all * 100;// 算出百分比

    progressMonitor.setNote("archived " + process + " %");// 顯示在進(jìn)度條上

    申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

    相關(guān)標(biāo)簽
    java進(jìn)度條

    相關(guān)文章

    熱門(mén)排行

    信息推薦