为什么会出现这样报错

来源:4-5 字节缓冲流

maxtas

2021-03-24 09:06

http://img4.mukewang.com/605a90760001fb9c07810387.jpg

public class BufferedTest {
    public static void main(String[] args) {
        FileOutputStream fos = null;
        FileOutputStream fos2 = null;
        BufferedOutputStream bos = null;

        try {
            fos = new FileOutputStream("fix.txt");
            long start=System.currentTimeMillis();
            for ( int i=0 ; i<=100000; i++         ) {
                fos.write('a');
            }
            long end = System.currentTimeMillis();
            System.out.println("fix.txt不用缓冲流写");
            long time1 =(end-start);
            System.out.println("用时"+time1);

            bos = new BufferedOutputStream(fos2);
            long start2=System.currentTimeMillis();
            for ( int i=0 ; i<=100000; i++         ) {
                bos.write('a');
            }
//            bos.write('a');

            long end2 = System.currentTimeMillis();
            long time2 =(end2-start2);
            System.out.println("fox.txt用缓冲流写");
            System.out.println("用时"+time2);

            System.out.println("节约时间"+(time1-time2));

//            bos.flush();
            fos.close();
            fos2.close();
            bos.close();


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

http://img1.mukewang.com/605a90a400018ca516490207.jpg

写回答 关注

1回答

  • qq_小浪蛙_03210325
    2021-04-22 23:58:10

    fos2 这个变量没有进行初始化,所以在使用的时候报了空指针异常,fos2 初始化一下就好,就像你的fos变量一样:fos = new FileOutputStream("fix.txt");

    maxtas

    谢谢啦

    2021-04-23 00:12:55

    共 1 条回复 >

文件传输基础——Java IO流

为您介绍IO流的使用,以及对象的序列化和反序列化的内容

133754 学习 · 1030 问题

查看课程

相似问题