`
yajie
  • 浏览: 210727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
阅读更多

01    package org.richin.io.Stream.util;
02    import java.io.BufferedInputStream;
03    import java.io.BufferedOutputStream;
04    import java.io.FileInputStream;
05    import java.io.FileOutputStream;
06    import java.io.IOException;
07    import java.io.InputStream;
08    import java.io.OutputStream;
09    /**
10    * 对流进行分流,同时将一个输入流写入多个输出流
11    * @author Administrator
12    *
13    */
14    public class TeeOutputStream extends OutputStream {
15    private OutputStream out1;
16    private OutputStream out2;
17    public TeeOutputStream(OutputStream stream1, OutputStream stream2)
18    {
19    //调用父类的构造方法,传入需要过滤的流
20    //super(stream1);
21    out1 = stream1;
22    out2 = stream2;
23    }
24    //重写write方法
25    public void write(int b) throws IOException
26    {
27    out1.write(b);
28    out2.write(b);
29    }
30    //重写write方法
31    public void write(byte[] data, int offset, int length) throws IOException
32    {
33    out1.write(data, offset, length);
34    out2.write(data, offset, length);
35    }
36    //重写flush方法
37    public void flush() throws IOException
38    {
39    out1.flush();
40    out2.flush();
41    }
42    //重写close方法
43    public void close() throws IOException
44    {
45    out1.close();
46    out2.close();
47    }
48    public static void copy(InputStream in, OutputStream out)
49    throws IOException {
50    // 缓冲流
51    BufferedInputStream bin = new BufferedInputStream(in);
52    BufferedOutputStream bout = new BufferedOutputStream(out);
53    while (true) {
54    int datum = bin.read();
55    if (datum == -1)
56    break;
57    bout.write(datum);
58    }
59    // 刷新缓冲区
60    bout.flush();
61    }
62    //main方法
63    public static void main(String[] args) throws IOException {
64    FileInputStream fin = new FileInputStream("E:\\gzml\\gongzhens\\yaxi\\设计稿\\快递.rar");
65    FileOutputStream fout1 = new FileOutputStream("D:/快递.rar");
66    FileOutputStream fout2 = new FileOutputStream("e:/快递.rar");
67    TeeOutputStream tout = new TeeOutputStream(fout1, fout2);
68    TeeOutputStream.copy(fin, tout);
69    fin.close();
70    tout.close();
71    }
72    }

0
1
分享到:
评论

相关推荐

    Java-Io流,练习

    字符流与字节流之间可以通过转换流进行互转。`InputStreamReader`和`OutputStreamWriter`就是这样的转换流,它们分别将字节流转换为字符流,反之亦然。 六、对象序列化流(Object Stream) Java还提供了一种特殊的...

    IO流 javaio java 流

    Java中的IO流是Java核心库的重要组成部分,它用于在不同数据源之间传输数据。Java IO流分为两大类:字符流(Character Stream)和字节流(Byte Stream)。字符流处理单个字符,而字节流处理8位的字节序列。它们又...

    java之io流实例

    在实际开发中,我们通常会根据需求选择合适的流进行组合,以实现特定的数据传输任务。例如,当我们需要从网络下载文件时,可以使用SocketInputStream作为输入流,然后通过BufferedInputStream提高读取效率,最后用...

    Java_IO流详解

    Java 中 IO 是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在项目开发中,IO 是非常基础的部分,在面试当中经常出现。对于初学者而言,IO 部分是容易忽略的内容,求职者一定要掌握该...

    JAVA_IO流学习总结

    JAVA_IO流学习总结

    java基础 IO流

    java基础中的IO流是Java提供的一套用于文件读写操作的流式API,它包括字节流和字符...这些知识对于Java初学者来说是非常重要的,它们不仅涉及到文件的基本操作,还包括了对IO流深入的理解,为后续开发打下坚实的基础。

    Java中文件IO流.pdf

    Java 中文件 IO 流是指 Java 语言中对文件的输入输出操作,通过定义文件流来实现文件的读写操作。文件流是指在程序中用于文件输入输出的对象, Java 中提供了多种文件流类型,包括 InputStream 和 OutputStream 两大...

    java中IO流例子

    Java中的IO流是Java平台...在实际项目中,我们经常会遇到需要对文件进行读写、在网络间传输数据或处理用户输入的情况,这时候,Java的IO流就显得尤为重要。通过不断实践和学习,我们可以更加深入地掌握这个强大的工具。

    JAVA教程IO流操作

    在Java编程语言中,IO(Input/Output)流是一组用于处理输入和输出操作的类和接口,它们允许我们读取和写入数据到各种类型的源和目标,如文件、网络连接、内存缓冲区等。Java IO流系统分为字节流和字符流两大类。 ...

    java课件IO流

    关于java的io流叙述,让程序的内存和外界交换数据

    Java 的 IO流笔记.md

    - **处理流**:不直接与数据源或目的地相连,而是对其他流进行封装,以提高性能或增加功能。这类流被称为“包装流”,如`BufferedInputStream`, `BufferedReader`等。 #### 七、Java中的IO流体系结构 Java的IO流...

    《JAVA_IO流学习总结》

    Java IO流是Java平台核心特性之一,它负责在程序与外部资源之间传输数据。这个概念在Java编程中至关重要,因为它提供了处理输入(读取)和输出(写入)的机制,无论是从键盘、文件、网络还是其他数据源。在本文中,...

    java 使用IO流实现文件的复制

    这里我们以字节流为例,使用`java.io.FileInputStream`作为读取源文件的输入流,`java.io.FileOutputStream`作为写入目标文件的输出流。 下面是一个简单的文件复制示例: ```java import java.io.*; public class...

    JAVA IO流技术

    Java IO流技术是Java平台中用于处理输入输出的重要机制,其核心在于数据的传输,从数据源到程序或从程序到目的地...在实际编程中,根据需求选择适当的流类型,结合处理流进行优化,可以构建出高效、灵活的IO解决方案。

    java_IO流的处理.ppt

    Java IO流处理是Java编程中一个非常重要的概念,它用于在不同数据源之间传输数据,如文件、网络、内存等。在Java中,IO流分为两大类:输入流(Input Stream)和输出流(Output Stream),它们分别用于数据的读取和...

    java基础之IO流

    ### Java IO流基础知识点 #### 一、IO流概述 - **定义**:在Java中,IO流(Input/Output Streams)是用来处理输入输出的基本工具。流是一种有序的数据集合,通常涉及从源到目的地的数据传输过程。源可以是文件、...

    JAVA IO流的增删改查

    自已写了一个JAVA IO流的增删改查操作, 算是对IO的总结吧,初学者可以看下!

    java调用io流

    Java调用IO流是进行数据输入输出操作的核心技术之一,特别是在处理文件、网络通信和程序间数据传递时不可或缺。在Java中,IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理单个字节...

    java io流 案例

    总的来说,Java IO流是Java程序进行输入输出操作的基础,无论是读取配置文件、处理用户输入、还是与其他系统交换数据,都离不开IO流。通过深入学习和实践,开发者可以有效地管理和控制程序的数据流动,从而实现各种...

    java中的io流详解

    Java 中的 IO 流是指在 Java 语言中对输入输出操作的抽象,主要用于实现程序与外部设备和其他计算机之间的交流,尤其是对磁盘文件的操作。IO 流的概念是在 1984 年由 C 语言第一次引入的,后来被 Java 语言所采用。 ...

Global site tag (gtag.js) - Google Analytics