[原创]代码范例:一个读文件的进度条
2004-09-01 19:14
387 查看
[原创]一个读文件的进度条
/**
* @(#) TestProgressBar.java
*
* Copyright 2004 Opensource Develop Team. All rights reserved.
*/
// package
package com.opensource.progressbar;
// import classes
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.InputStream;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.ProgressMonitorInputStream;
/**
* 当读取一个大文件的时候,需要显示一个进度条提示用户还有多少要读取和已经
* 读取了多少内容。
*
* @author ODT
* @version 1.0 01/05/2004
* @since JDK 1.3
*/
public class TestProgressBar
{
public static void main(String[] args)
{
// 创建一个有button的frame
final JFrame f = new JFrame("Sample");
f.getContentPane().setLayout(new FlowLayout());
JButton b = new JButton("Press me");
f.getContentPane().add(b);
f.pack();
// set up the file read action
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// 当button按下的时候开始一个线程去读取文件。
// 因为我们需要一个空闲的线程去更新绘制progress monitor
new Thread()
{
public void run()
{
try
{
// 打开一个文件,封装进ProgressMonitorInputStream
InputStream in = new FileInputStream("D://Java projects//mail.txt");
ProgressMonitorInputStream pm =
new ProgressMonitorInputStream(f,"Reading the big file",in);
// 读文件。如果需要很长时间,progress monitor将出现。
int c;
while((c=pm.read()) != -1)
{
// do something
}
pm.close(); // 可以改写一个更好的错误处理
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}.start();
}
});
// 显示frame
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
/**
* @(#) TestProgressBar.java
*
* Copyright 2004 Opensource Develop Team. All rights reserved.
*/
// package
package com.opensource.progressbar;
// import classes
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.InputStream;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.ProgressMonitorInputStream;
/**
* 当读取一个大文件的时候,需要显示一个进度条提示用户还有多少要读取和已经
* 读取了多少内容。
*
* @author ODT
* @version 1.0 01/05/2004
* @since JDK 1.3
*/
public class TestProgressBar
{
public static void main(String[] args)
{
// 创建一个有button的frame
final JFrame f = new JFrame("Sample");
f.getContentPane().setLayout(new FlowLayout());
JButton b = new JButton("Press me");
f.getContentPane().add(b);
f.pack();
// set up the file read action
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// 当button按下的时候开始一个线程去读取文件。
// 因为我们需要一个空闲的线程去更新绘制progress monitor
new Thread()
{
public void run()
{
try
{
// 打开一个文件,封装进ProgressMonitorInputStream
InputStream in = new FileInputStream("D://Java projects//mail.txt");
ProgressMonitorInputStream pm =
new ProgressMonitorInputStream(f,"Reading the big file",in);
// 读文件。如果需要很长时间,progress monitor将出现。
int c;
while((c=pm.read()) != -1)
{
// do something
}
pm.close(); // 可以改写一个更好的错误处理
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}.start();
}
});
// 显示frame
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
相关文章推荐
- SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(2)--示例篇:创建一个登录控件(原创)(转载本文请注明出处)
- [原创]代码范例:画一个美观的箭头
- 分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
- 【原创】发一个主动防御的代码
- 一个PE文件的学习程序[原创]
- web播放器插件代码 实现一个在线查听音频文件的功能
- 指定一个Java文件,输入其代码行数
- 将后台数据读取到前台的EXCEL文件中去,用javascript实现,asp.net,javacript(发一个原创)
- 简单封装的一个彩色进度条【原创】
- 【原创】一个shell脚本记录(实现rsync生产文件批量迁移功能)
- 利用eclipse比较两个文件的代码差异或者一个文件不同版本之间的异同
- PHP 删除一个目录及目录下的所有文件的函数代码
- 写代码来解决多进程/线程同时读写一个文件的问题。
- js动画效果(贴一个完整的代码,附js文件写法)
- 备份mysql数据库的php代码(一个表一个文件)
- 第二周项目二-多文件组织(如何将一个文件的代码多文件组织)
- java代码的分层,解决一个文件有太多行的代码导致维护阅读困难的问题
- java读取文件封装的一个类(有部分代码借鉴别人的)
- 简单封装的一个文件操作的类【原创】
- 一个VB.NET打开目标文件夹并选取目标文件的代码