zoukankan      html  css  js  c++  java
  • Java写入文件的几种方法及性能对比

     1 package demo;
     2 import java.io.File;   
     3 import java.io.FileOutputStream;   
     4 import java.io.*;   
     5 
     6 public class FileOperate {   
     7 
     8     public static void main(String[] args) {   
     9 
    10         FileOutputStream out = null;   
    11         FileOutputStream outSTr = null;   
    12         BufferedOutputStream Buff=null;   
    13         FileWriter fw = null;   
    14         int count=50000;//写文件行数   
    15 
    16         try {   
    17             //****************************FileOutputStream保存**************************************
    18             out = new FileOutputStream(new File("E:/add0.html"));   
    19             long begin = System.currentTimeMillis();   
    20             for (int i = 0; i < count; i++) {   
    21                 out.write("测试java 文件操作".getBytes());   
    22             }   
    23             out.close();   
    24             long end = System.currentTimeMillis();   
    25             System.out.println("FileOutputStream执行耗时:" + (end - begin) + " 豪秒");   
    26             
    27             //****************************BufferedOutputStream保存***********************************
    28             outSTr = new FileOutputStream(new File("E:/add1.html"));   
    29              Buff=new BufferedOutputStream(outSTr);   
    30             long begin0 = System.currentTimeMillis();   
    31             for (int i = 0; i < count; i++) {   
    32                 Buff.write("测试java 文件操作".getBytes());   
    33             }   
    34             Buff.flush();   
    35             Buff.close();   
    36             long end0 = System.currentTimeMillis();   
    37             System.out.println("BufferedOutputStream执行耗时:" + (end0 - begin0) + " 豪秒");   
    38 
    39             //****************************fileWriter保存*********************************************
    40             fw = new FileWriter("E:/add2.html");   
    41             long begin3 = System.currentTimeMillis();   
    42             for (int i = 0; i < count; i++) {   
    43                 fw.write("测试java 文件操作");   
    44             }   
    45             fw.close();   
    46             long end3 = System.currentTimeMillis();   
    47             System.out.println("FileWriter执行耗时:" + (end3 - begin3) + " 豪秒");   
    48             
    49             //****************************outPutStreamWriter保存**************************************
    50             FileOutputStream os = new FileOutputStream(new File("E:/add3.html"));
    51             OutputStreamWriter osWriter = new OutputStreamWriter(os, "UTF-8");
    52             long begin4 = System.currentTimeMillis();  
    53             for (int i = 0; i < count; i++) {
    54                 osWriter.write("测试java 文件操作");
    55             }
    56             osWriter.close();
    57             long end4 = System.currentTimeMillis();   
    58             os.close();
    59             System.out.println("outPutStreamWriter执行耗时:" + (end4 - begin4) + " 豪秒");  
    60             
    61             FileWriter fileWritter = new FileWriter(new File("E:/add4.html"));
    62             BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
    63             long begin5 = System.currentTimeMillis();
    64             for (int i = 0; i < count; i++) {
    65             bufferWritter.write("测试java 文件操作");
    66             }
    67             bufferWritter.close();
    68             long end5 = System.currentTimeMillis();   
    69             System.out.println("BufferedWriter执行耗时:" + (end5 - begin5) + " 豪秒");
    70         } catch (Exception e) {   
    71             e.printStackTrace();   
    72         } finally {   
    73             try {   
    74                 fw.close();   
    75                 Buff.close();   
    76                 outSTr.close();   
    77                 out.close();   
    78             } catch (Exception e) {   
    79                 e.printStackTrace();   
    80             }   
    81         }   
    82     }   
    83 
    84 }
  • 相关阅读:
    eslint 的 env 配置是干嘛使的?
    cookie httpOnly 打勾
    如何定制 antd 的样式(theme)
    剑指 Offer 66. 构建乘积数组
    剑指 Offer 65. 不用加减乘除做加法
    剑指 Offer 62. 圆圈中最后剩下的数字
    剑指 Offer 61. 扑克牌中的顺子
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
  • 原文地址:https://www.cnblogs.com/wanying521/p/5179256.html
Copyright © 2011-2022 走看看