Java可以使用带进度条的输入流来读取文件,如果读取文件时希望让用户能够看见文件的读取进度,可以使用javax.swing包提供的输入流类ProgressMonitorInputStream,它的构造方法是:
ProgressMonitorInputStream(Component c, String s, InputStream);
该类创建的输入流在读取文件时会弹出一个显示读取进度的进度条,进度条在参数c指定的组件正前方显示;若该参数取null,则在屏幕的正前方显示。用户可以随时单机进度条上的“取消”按钮关闭流的读取操作。
import javax.swing.*;
import java.io.*;
public class Example10_18 {
public static void main(String[] args) {
// TODO Auto-generated method stub
byte b[]=new byte[30];
try{
FileInputStream input=new FileInputStream("Example10_18.java");
ProgressMonitorInputStream in=new ProgressMonitorInputStream(null,"读取java文件",input);
ProgressMonitor p=in.getProgressMonitor();
while(in.read(b)!=-1){
String s=new String(b);
System.out.print(s);
Thread.sleep(1000);
}
}
catch(Exception e){}
}
}