java 写文件的三种方法比较

举报
风吹稻花香 发表于 2021/06/04 23:55:50 2021/06/04
【摘要】 原文:http://www.cnblogs.com/yezhenhan/archive/2012/09/10/2678690.html import java.io.File; import java.io.FileOutputStream; import java.io.*; public class FileTest { public FileTest() { ...
原文:http://www.cnblogs.com/yezhenhan/archive/2012/09/10/2678690.html
import java.io.File; import java.io.FileOutputStream; import java.io.*; public class FileTest { public FileTest() { } public static void main(String[] args) { FileOutputStream out = null; FileOutputStream outSTr = null; BufferedOutputStream Buff=null; FileWriter fw = null; int count=1000;//写文件行数    try { out = new FileOutputStream(new File(“C:/add.txt”)); long begin = System.currentTimeMillis(); for (int i = 0; i < count; i++) { out.write(“测试java 文件操作\r\n”.getBytes()); } out.close(); long end = System.currentTimeMillis(); System.out.println(“FileOutputStream执行耗时:” + (end - begin) + ” 豪秒”); outSTr = new FileOutputStream(new File(“C:/add0.txt”)); Buff=new BufferedOutputStream(outSTr); long begin0 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { Buff.write(“测试java 文件操作\r\n”.getBytes()); } Buff.flush(); Buff.close(); long end0 = System.currentTimeMillis(); System.out.println(“BufferedOutputStream执行耗时:” + (end0 - begin0) + ” 豪秒”); fw = new FileWriter(“C:/add2.txt”); long begin3 = System.currentTimeMillis(); for (int i = 0; i < count; i++) { fw.write(“测试java 文件操作\r\n”); } fw.close(); long end3 = System.currentTimeMillis(); System.out.println(“FileWriter执行耗时:” + (end3 - begin3) + ” 豪秒”); } catch (Exception e) { e.printStackTrace(); } finally { try { fw.close(); Buff.close(); outSTr.close(); out.close(); } catch (Exception e) { e.printStackTrace(); } } } }   
复制代码

 
  

    以下结果经过多次执行,取常出现的数据,由于只是简单比较,不做详细统计。

    当count=1000的,即写文件1000行的时候,写出的文件大小为18.5KB:   

    FileOutputStream执行耗时:46 豪秒   
    BufferedOutputStream执行耗时:31 豪秒   
    FileWriter执行耗时:15 豪秒   
      
      
    2.当count=10000的,即写文件10000行的时候,写出的文件大小为185KB:   
    FileOutputStream执行耗时:188 豪秒   
    BufferedOutputStream执行耗时:32 豪秒   
    FileWriter执行耗时:16 豪秒   
      
        
      
    3.当count=100000的,即写文件100000行的时候,写出的文件大小为1856KB:   
    FileOutputStream执行耗时:1266 豪秒   
    BufferedOutputStream执行耗时:125 豪秒   
    FileWriter执行耗时:93 豪秒   
      
        
      
    4.当count=1000000的,即写文件1000000行的时候,写出的文件大小为18555KB:   
    FileOutputStream执行耗时:12063 豪秒   
    BufferedOutputStream执行耗时:1484 豪秒   
    FileWriter执行耗时:969 豪秒

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/61623754

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。