From 6c1c87969b021954a9bac09adba4690c9b5de8d4 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Mon, 23 Mar 2026 10:37:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day10-=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=BC=93=E5=86=B2=E6=B5=81=E5=A4=8D=E5=88=B6=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=88=E4=B8=80=E6=AC=A1=E8=AF=BB=E5=86=99=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E5=AD=97=E8=8A=82=E6=95=B0=E7=BB=84=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/buffered_stream01/Demo03.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java diff --git a/javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java b/javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java new file mode 100644 index 0000000..5858c0e --- /dev/null +++ b/javaSE-day10/src/com/inmind/buffered_stream01/Demo03.java @@ -0,0 +1,52 @@ +package com.inmind.buffered_stream01; + +import java.io.*; + +public class Demo03 { + + //使用字节缓冲输入输出流复制一个文件,并计算出时间(一次读写一个字节数组) + public static void main(String[] args) throws IOException { + /*FileInputStream fis = new FileInputStream("D:\\io_test\\upload\\1.jpg"); + FileOutputStream fos = new FileOutputStream("D:\\io_test\\upload\\2.jpg");*/ + + BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\io_test\\upload\\1.jpg")); + BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\io_test\\upload\\3.jpg")); + + byte[] bytes = new byte[1024];//读取到的字节数据保存到该数组中 + int len ;//获取读取到的字节数据的长度 + + long start = System.currentTimeMillis(); + + while ((len = bis.read(bytes)) != -1) { + bos.write(bytes,0,len); + } + long end = System.currentTimeMillis(); + + System.out.println("使用字节流复制文件花费:"+(end- start));//3ms + + bis.close(); + bos.close(); + } + + + //使用原始的字节输入输出流复制一个文件,并计算出时间(一次读写一个字节数组) + public static void method(String[] args) throws IOException { + FileInputStream fis = new FileInputStream("D:\\io_test\\upload\\1.jpg"); + FileOutputStream fos = new FileOutputStream("D:\\io_test\\upload\\2.jpg"); + + byte[] bytes = new byte[1024];//读取到的字节数据保存到该数组中 + int len ;//获取读取到的字节数据的长度 + + long start = System.currentTimeMillis(); + + while ((len = fis.read(bytes)) != -1) { + fos.write(bytes,0,len); + } + long end = System.currentTimeMillis(); + + System.out.println("使用字节流复制文件花费:"+(end- start));//8ms + + fis.close(); + fos.close(); + } +}