栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

FileOutputStream和BufferedOutputStream基础测试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FileOutputStream和BufferedOutputStream基础测试

对文件IO中的FileOutputStream和BufferedOutputStream进行了一个基础的测试:
对相同的数据循环写10秒,然后看输出文件的大小。

测试代码如下:

package com.myspringboot.io.file;


import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.util.concurrent.TimeUnit;

public class FileIO {

    private static final byte[] DATA = "123456789n".getBytes();
    private static final String PATH = "D:\javatest\out.txt";

    public static void main(String[] args) throws Exception {

        Thread thread = new Thread(() -> {

            try {
                testBasicFileIO(); // 100M左右
//                testBufferedFileIO(); // 1G左右
            } catch (Exception e) {
                e.printStackTrace();
            }

        });
        thread.setDaemon(true);
        thread.start();
        // 运行10秒后,结束程序
        TimeUnit.SECONDS.sleep(10);
        System.out.println("结束");
    }


    //最基本的file写
    public static void testBasicFileIO() throws Exception {
        File file = new File(PATH);
        FileOutputStream out = new FileOutputStream(file);
        while (true) {
            out.write(DATA);
        }
    }

    //测试buffer文件IO
    //  jvm  8kB   syscall  write(8KBbyte[])
    public static void testBufferedFileIO() throws Exception {
        File file = new File(PATH);
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(file));
        while (true) {
            out.write(DATA);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680686.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号