java读取文件显示进度条的实现方法_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 + " %");// 显示在进度条上

时间: 2024-08-30 22:28:25

java读取文件显示进度条的实现方法_java的相关文章

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路_实用技巧

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点:1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)和

Asp.Net 无刷新文件上传并显示进度条的实现方法及思路

相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认"拿来主义",只是我个人更喜欢凡是求个所以然.本篇将阐述通过Html,IHttpHandler和 IHttpAsyncHandler实现文件上传和上传进度的原理,希望对你有多帮助. 效果图: 本文涉及到的知识点: 1.前台用到Html,Ajax,JQuery,JQuery UI 2.后台用到一般处理程序(IHttpHandler)

JAVA读取文件夹大小的几种方法实例_java

(一)单线程递归方式 复制代码 代码如下: package com.taobao.test; import java.io.File; public class TotalFileSizeSequential {     public static String fileName = "C:\\Documents and Settings\\Administrator\\桌面\\monkeytalk";     // 递归方式 计算文件的大小    private long getTo

基于HTML5 Ajax实现文件上传并显示进度条_AJAX相关

本文实例讲解了ajax上传文件及进度条的实现方法,分享给大家供大家参考,具体内容如下 效果图: html5上传是同步上传的方式,所以能够实现进度条的显示.1.上传文件: 首先我们用ajax来取得<input type="file" id="file_upload">的file对象: var file = null; var input = $("#file_upload"); //文件域选择文件时, 执行readFile函数 inpu

基于HTML5 Ajax实现文件上传并显示进度条

本文实例讲解了ajax上传文件及进度条的实现方法,分享给大家供大家参考,具体内容如下 效果图: html5上传是同步上传的方式,所以能够实现进度条的显示. 1.上传文件: 首先我们用ajax来取得<input type="file" id="file_upload">的file对象: var file = null; var input = $("#file_upload"); //文件域选择文件时, 执行readFile函数 inp

Java上传文件进度条的实现方法(附demo源码下载)_java

本文实例讲述了Java上传文件进度条的实现方法.分享给大家供大家参考,具体如下: 东西很简单,主要用到commons-fileupload,其中有一个progressListener的接口,该接口可以实现实时更新已上传文件的大小,有了这个还说什么呢? 这里给出代码: package lc.progress; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import lc.

基于ajax实现文件上传并显示进度条_javascript技巧

下面给大家分享下基于ajax实现文件上传并显示进度条.在jsp部分,需要设计一个表单,form的属性添加 enctype="multipart/form-data",设计一个iframe,作为隐藏.form的target等于iframe的name; 在servlet部分:文件上传用的Commons-FileupLoad,需要两个Jar,commons-fileupload和commons-io,少了第二个会报出找不到类的异常: 第一个servlet处理上传,及把上传进度保存到sessi

Http 下载文件利用(response,request) 并显示进度条

http 下载文件利用(response,request) 并显示进度条 request 和 response 都比较好用 /// <summary>                /// http 下载文件             /// current thread download         /// </summary>                /// <param name="url">下载文件地址</param>  

ssh怎么实现excel文件导入进度条——急求

问题描述 ssh怎么实现excel文件导入进度条--急求求完整的例子和源代码,谢谢! 解决方案 解决方案二:该回复于2010-11-10 09:53:15被版主删除解决方案三:引用1楼jiangfeiwork1987的回复: 留下邮箱 莫非1L有?给我也发一份吧,嘻嘻,谢谢.一直不知道怎么去做进度条.邮箱:418146746@qq.com解决方案四:来看看曾经也想过这个问题后因需求取消就没继续研究解决方案五:前台用ajax不断去读取后台的导入excel的进度值,比如导入多少笔就更新一下进度值.返