博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 写文件的三种方法比较
阅读量:6282 次
发布时间:2019-06-22

本文共 2645 字,大约阅读时间需要 8 分钟。

hot3.png

复制代码

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 豪秒

转载于:https://my.oschina.net/u/856502/blog/533238

你可能感兴趣的文章
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>