进度条的实现(读取文本文件)
来源:互联网 发布:淘宝二手在哪里 编辑:程序博客网 时间:2024/04/29 06:33
/*05文本文件计算并求和编写一个程序读取一个文本文件(格式如附录),将每个变量的值取出来,计算并输出其总和。要求如下: ① 文本文件(test.txt)以参数形式输入,如 G:/java MyJava 05test.txt ② 要求显示计算进度,例如:"当前正在计算变量V2...2/10",其中的10表示共有10条记录,2表示当前计算到第2条 ③ 选做效果:显示已经花了多少时间,大约还需要多少时间,单位为秒。 附录(文本文件格式形如): V1=12.0 V2=15.0 a=100 Height=20.25*/package Component;//打包在“组件”里import javax.swing.JProgressBar;//导入相关包import javax.swing.JFrame;import java.awt.Color;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.*;import javax.swing.*;import java.io.*;public class TestJProgressBar{//建立一个TestJProgressBar类public static void main(String []agre){//主方法try{long start=System.currentTimeMillis();//获取当前时间FileReader fr=new FileReader("C:\\05test.txt");//文本文件(test.txt)以参数形式输入,读取字符流BufferedReader br=new BufferedReader(fr);//缓冲指定文件输入String strLine;//定义一个String类型的变量,每次读取一行int lineCount=0;//统计文件的行数while(br.ready()){strLine=br.readLine();//读取一行lineCount++;//记录行数}fr.close();//关闭流br.close();//关闭流//-----------------------------------------------------------------------------------------------JFrame frm=new JFrame("正在读取中");//定义一个JFrame对象 final JProgressBar aJProgressBar=new JProgressBar(0,lineCount);//设定进度条的范围(0~lineCount) aJProgressBar.setStringPainted(true);//显示进度字符串 aJProgressBar.setBackground(Color.white);//设置背景为白色 aJProgressBar.setForeground(Color.blue);//设置进度条进度为蓝色 frm.setSize(480,150);//设置框架大小 Toolkit tk=Toolkit.getDefaultToolkit(); Dimension dm=tk.getScreenSize();//获取屏幕大小 frm.setLocation((int)(dm.getWidth()-frm.getWidth())/2,(int)(dm.getHeight()-frm.getHeight())/2);//框架居中 frm.add(aJProgressBar,BorderLayout.NORTH);//进度条设置在框架北面 frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户发起close时,程序的默认操作,结束窗体所在的应用程序 frm.setVisible(true);//进度条可视//--------------------------------------------------------------------------------------------------- //当前正在计算变量V2...2/10FileReader f=new FileReader("C:\\05test.txt");//文本文件(test.txt)以参数形式输入,读取字符流BufferedReader b=new BufferedReader(f);//缓冲指定文件输入int count=0;//记录读取的行数double sum=0;//统计变量之和JTextField jf=new JTextField();//定义一个文本框frm.add(jf,BorderLayout.CENTER);//将文本框添加frm.setVisible(true);//框架可视while(b.ready()){count++;//当前读取所在行数strLine=b.readLine();//读取一行String s[]=strLine.split("=");//按“=”将每一行分开 double d=Double.parseDouble(s[1]);//将等号右侧的数据转换为double型sum=sum+d;//计算变量的和//----------------------------------------------long end=System.currentTimeMillis();//每读一行,获取一次时间try{Thread.sleep(1);//线程休眠一毫秒}catch(InterruptedException ignoreException){}; double time=(double)(end-start)/1000;//文本读取已用时间 double time1=((double)(lineCount-count)/count)*time;//文本读取大约剩余时间 jf.setText("当前正在计算变量"+s[0]+"..."+count+"/"+lineCount+" " +//更新文本框内容 " 已经使用"+String.format("%.1f",time)+"s"+" 大约还需要"+String.format("%.1f",time1)+"s"); int value=aJProgressBar.getValue();//获取进度条当前进度 aJProgressBar.setValue(value+1);//进度加一}frm.dispose();//全部读取完毕,框架消失System.out.print(String.format("%.2f",sum));//输出所有变量值的总和}catch(IOException e){e.printStackTrace();}}}
阅读全文
0 0
- 进度条的实现(读取文本文件)
- java中读取文件进度条的实现
- OGRE之资源读取进度条的实现
- QT 文本文件的读取
- 二进制文本文件的读取
- 关于C语言中文本文件的逐行读取的实现
- 实现一个读取UTF-8文本文件的类
- c++ 实现“实时”读取不断有增量写入的文本文件
- (原创)JAVA文本文件的读取
- Python 读取文本文件 的方式
- 文本文件的读取方式一
- 文本文件的读取方式二
- VB读取文本文件的例子:逐行读取
- 进度条的实现(线程)
- J2ME读取本地文本文件和Web上文本文件与图片的用法(汇总)
- 在文本文件当中实现按列读取
- C# 创建文本文件写入读取实现代码
- C++实现逐行从文本文件读取数据
- C++ const
- C++:流类库与输入输出
- Python中字符串格式化符号
- Linux新手生存笔记[13]——SVN命令总结
- 自己经常犯错的几个点,持续补充
- 进度条的实现(读取文本文件)
- [资源分享][Unity][人物模型][动作]一些人物模型以及动作的分享
- BOOST自动化测试
- Java 笔记 之 常用的DOS命令
- opengl与OSG的深度测试
- checkStyle 错误普及
- linux命令大全网页版
- 1035. 插入与归并(25) PAT乙级真题
- mysql入门语句