import java.io.FileInputStream;
import javax.swing.ProgressMonitor;
import javax.swing.ProgressMonitorInputStream;
public class ProgressMonitorTest {
public static void main(String args[]) throws Exception {
// declare ProgressMonitorInputStream Object
ProgressMonitorInputStream monitor;
/**
* @param 表示此进度条要依附在哪个组件上
* @param 显示在此进度条上的消息
* @param 需要监控的输入流
*/
monitor = new ProgressMonitorInputStream(null, "Loading ",
new FileInputStream("filename path"));
/**
* 得到与此监控流相对应的监控对象
*/
ProgressMonitor progressMonitor = monitor.getProgressMonitor();
int read_unit = 2;// 设置每次读取的字节数
int all = monitor.available();// 得到目标文件的总字节数
int readed = 0;// 每次实际读取到的字节数
byte[] data = new byte[read_unit];// 字节数组,保存读取到的字节数
while (monitor.available() > 0) {
Thread.sleep(1);// 故意放慢速度好看清进度条
int in = monitor.read(data);
readed += in;
// System.out.write(data);
float process = (float) readed / all * 100;// 算出百分比
// System.out.println("archived " + process + " %");
progressMonitor.setNote("archived " + process + " %");// 显示在进度条上
}
}
}
分享到:
相关推荐
### 进度条使用说明:Java Swing中的JProgressBar与ProgressMonitor深入解析 #### JProgressBar:构建动态进度显示 在Java的Swing库中,`JProgressBar`类是用于创建和控制进度条显示的重要组件。进度条是用户界面...
### 如何在Java实例开发过程中使用进度条 ...通过上述介绍和示例代码,我们可以看到,在Java中使用`ProgressMonitorInputStream`来实现进度条功能是非常简单且直观的。这不仅可以提高程序的可用性,还能增强用户体验。
代码可能会使用`ProgressMonitorInputStream`或自定义的`InputStream`包装类来跟踪上传进度。 总的来说,实现Java文件上传进度条涉及的知识点包括:网络编程(HTTP请求)、多线程、文件I/O操作、用户界面更新和异常...
这个例子中,`ProgressMonitorInputStream`监听文件上传的进度,并通过`update()`方法更新进度条。注意,实际应用中还需要处理可能出现的异常,以及确保在文件传输完成后正确关闭所有资源。 通过以上步骤,你可以在...
在Java编程中,实现文件复制并伴随进度条提示是一项实用的功能,特别是在处理大文件时,为了提高用户体验,进度条能够显示文件复制的进度,让用户了解操作的预计完成时间。以下是一个详细步骤,介绍如何在Java中实现...
6. **更新进度条**:使用`ProgressMonitor`的`setNote()`方法来更新进度条上的显示信息,如`progressMonitor.setNote("archived " + process + " %");`。 7. **持续监控**:在读取过程中,不断检查进度,并更新...
在Java编程环境中,通过使用特定的库,如Apache Commons Net或者JSch,我们可以实现FTP的文件上传和下载功能,同时还能实现进度条展示,为用户提供更好的交互体验。 首先,我们需要了解FTP的基本工作原理。FTP基于...
3. **进度条实现**:为了展示文件上传的进度,我们需要监听文件流的读写过程。一种常见的方式是使用第三方库,如Apache Commons IO的`ProgressMonitorInputStream`。这个类可以跟踪输入流的读取进度,我们可以根据这...
Applet方法允许提供更复杂的用户交互,如进度条显示,但需要用户信任并加载Applet,这可能涉及安全问题,且不适用于所有浏览器环境。 总结来说,JEE2实现文件下载可以通过HTTP响应流直接在服务器端完成,也可以利用...
- **进度监控输入流ProgressMonitorInputStream**:它允许你为应用的其它部分提供一个可视化的进度条,以便监控长时间运行的I/O操作进度。 ### 打印流PrintStreams `PrintStream`类用于方便地打印各种数据类型的...
这需要监控文件上传的进度,可能通过监听`Part`的`progress`事件,或者使用第三方库如Apache Commons IO的`ProgressMonitorInputStream`。 7. **安全性**:文件上传可能会带来安全风险,比如恶意文件注入。因此,...
7. 进度条显示:在多线程环境下,可以使用`ProgressMonitorInputStream`或自定义监听器来监控每个文件的传输进度,并更新用户界面。 8. 线程池:使用`ExecutorService`和`ThreadPoolExecutor`可以有效地管理和控制...