ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母,比较四者性能

2021-11-25 09:34:51  阅读:150  来源: 互联网

标签:26 java new BufferedWriter io import Date 10000 public


//郑州轻工业大学
//题号:实验二 第一题
//题目: 疫情期间,各级职能部门都要统计当天的疫情数据及时上报,所有数据都需要保存到文件中以便后继处理。请以你所学习的FileOutputStream、BufferedOutputStream、FileWriter和BufferedWriter,编写程序实现向文件写入10000次26个英文字母代替疫情信息,比较四者在向文件写入时的性能差别。(注:可以使用System.currentTimeMillis( )方法获取系统时间来判断性能差别。)
————————————————
方法
我们输入26个字母以追加的方式循环10000次
然后我们不用System.currentTimeMillis( )方法获取系统时间来判断性能差别
而是使用Date d1=new Date();方法,通过d1和d2的差异来获取时间差

四种方法代码如下

import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;

public class FileWriterUse {
    public FileWriterUse() {
        String s = "abcdefghijklmnopqrstuvwxyz";
        byte[] b=s.getBytes();
        Date d1=new Date();
        try {
            FileWriter f=new FileWriter("D:\\javastudent\\java下学期实验二\\src\\任务一\\3.text",true);
            for (int i=0;i<10000;i++)
                f.write(s);
            Date d2=new Date();
            System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new FileWriterUse();
    }
}

————

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;

public class FileOutputStreamUse {

    public FileOutputStreamUse() {
        String s = "abcdefghijklmnopqrstuvwxyz";
        byte[] b1 = s.getBytes();
        Date d1 = new Date();
        try {
            FileOutputStream f1 = new FileOutputStream("D:\\javastudent\\java下学期实验二\\src\\任务一\\1.text", true);
            for (int i = 0; i < 10000; i++)
                f1.write(b1);
            f1.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Date d2=new Date();
        System.out.println("FileOutputStream用时:"+(d2.getTime()-d1.getTime()));


    }

    public static void main(String[] args) {
        new FileOutputStreamUse();
    }

}

————`

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;

public class BufferedWriterUse {
   public BufferedWriterUse(){
       String s = "abcdefghijklmnopqrstuvwxyz";
       byte[] b1 = s.getBytes();
       Date d1 = new Date();
       try {
           BufferedWriter f=new BufferedWriter(new FileWriter("D:\\javastudent\\java下学期实验二\\src\\任务一\\4.text"));
           for (int i=0;i<10000;i++)
               f.write(s);
           Date d2=new Date();
           System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));
       } catch (IOException e) {
           e.printStackTrace();
       }
   }

    public static void main(String[] args) {
        new BufferedWriterUse();
    }

}

——————

import java.io.BufferedOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Date;

public class BufferedOutputStreamUse {
public BufferedOutputStreamUse(){
    String s = "abcdefghijklmnopqrstuvwxyz";
    byte[] b=s.getBytes();
    Date d1=new Date();

    try {
        BufferedOutputStream f1=new BufferedOutputStream(new FileOutputStream("D:\\javastudent\\java下学期实验二\\src\\任务一\\2.text",true));//ture是允许追加
        for (int i=0;i<10000;i++)
            f1.write(b);
        Date d2=new Date();
        System.out.println("BufferedOutputStream用时:"+(d2.getTime()-d1.getTime()));

    } catch (IOException e) {
        e.printStackTrace();
    }

}

    public static void main(String[] args) {
        new BufferedOutputStreamUse();
    }
}

水平有限,如有错误,还望大神指正;(^_−)☆
在这里插入图片描述

标签:26,java,new,BufferedWriter,io,import,Date,10000,public
来源: https://blog.csdn.net/muMason/article/details/121529997

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有