- 相關(guān)推薦
關(guān)于java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法
實(shí)現(xiàn)這個(gè)功能比較簡(jiǎn)單,用到的類有兩個(gè):ProgressMonitorInputStream(主要是整個(gè)類) 和 ProgressMonitor ,它們?cè)趈avax.swing中
大體思路,你要首先知道整個(gè)文件的大小,和當(dāng)前已經(jīng)讀取文件的大小,獲得整個(gè)文件大小的方法
復(fù)制代碼 代碼如下:
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%
復(fù)制代碼 代碼如下:
int readed=0;//表示已經(jīng)讀取的文件
reader+=in;//累加讀取文件大小
計(jì)算進(jìn)度:
復(fù)制代碼 代碼如下:
float process = (float) readed / all * 100;// 算出百分比
窗口顯示:
復(fù)制代碼 代碼如下:
progressMonitor.setNote("archived " + process + " %");// 顯示在進(jìn)度條上
【java讀取文件顯示進(jìn)度條的實(shí)現(xiàn)方法】相關(guān)文章:
從Java的jar文件中讀取數(shù)據(jù)的方法08-24
Java的jar文件中讀取數(shù)據(jù)的方法09-27
PHP中讀取大文件實(shí)現(xiàn)方法詳解09-23
從Java的jar文件中如何讀取數(shù)據(jù)的方法10-18
java如何通過(guò)url讀取文件05-07
java讀取解析xml文件實(shí)例08-05
java讀取CSV的方法06-10