测试DataOutputStream和FileWriter 的性能

  今天无聊测试了下DataOutputStream和FileWriter 的性能,惊奇的发现FileWriter 的性能比DataOutputStream的高很多倍啊,看了下源代码FileWriter 里面也是构造了一个FileOutputStream,而我也是用FileOutputStream构造的DataOutputStream的啊,呵呵!

知道的高手了讨论下,我对java底层不是太了解。

测试代码如下:

 

测试结果:

 time1:8390
 time2:1000

测试环境:windows Xp + Eclipse + jdk5

 

本关任务:编程实现一个班的学生成绩的输入输出。 (1) 从键盘读入一个班的高数课程的成绩( 输入-1结束),写入文件,文件名由用户输入(例如score.txt)。 (2) 从文件中读出所有的数据,统计数据个数,并计算平均成绩,并将结果输出到显示器。 输出格式: 数据个数:5 平均值:75.8 说明:可以用缓冲流,也可以用数据流。 其中,若用缓冲流,写文件时数据之间要添加空格或回车作为分隔符,以便读取时分离出每个数据。 若用数据流,则不需要添加分隔符。 相关知识 详见教学资料中的word教案: 15_2 输入输出流与文件操作2 查看相应的案例说明及源程序 缓冲流 (缓冲流) 缓冲流适合字符串的文件读写。 读文件:用BufferedReader的readLine()方法读取一行字符; 写文件:用BufferedWriter类的write()方法,写入回车符用newLine()方法。 缓冲流的输入输出流对象的创建要基于字符流对象,也就是说,缓冲流的源是字符流。 数据流 用数据流DataInputStream、DataOutputStream类可以实现任意类型数据的直接读写。 写文件:用DataOutputStream类的方法writeFloat()将float类型的数据写入文件。 读文件:DataInputStream类的readFloat()方法读取float型数据。 提示:数据流对象要基于字节输入流创建。 Scanner类 (1)可以实现从键盘读取数据 Scanner sc = new Scanner(System.in); sc.nextInt(); //从键盘读取一个整数 (2)可以实现从文件读取数据 //创建文件对象datafile File datafile=new File("data.txt"); //创建Scanner类的输入流对象sc Scanner sc=new Scanner(datafile); // 读文件:循环读出每个数据,直接用nextFloat()读数据,与从键盘上读数据的方法相同。 提示:用Scanner读取文件数据时,前提是写文件时,已在数据之间有空格或回车作分隔符。 编程要求 仔细阅读右侧编辑区内给出的代码框架及注释,根据任务要求补充代码。 注意:文件的路径是从键盘读入的。 测试说明 平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 例: 测试输入: 65 40 78 98 -1 预期输出(后台会查看文件产生的结果): 数据个数:4 平均值:70.25
最新发布
07-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值