`

SequenceInputStream(顺序输入流) 示例

阅读更多
/*
SequenceInputStream类允许连接多个InputStream流。SequenceInputStream的构造不同于任何其他的InputStream。SequenceInputStream构造函数要么使用一对InputStream,要么用InputStream的一个Enumeration,显示如下:
SequenceInputStream(InputStream first, InputStream second)
SequenceInputStream(Enumeration streamEnum)
操作上来说,该类满足读取完第一个InputStream后转去读取第二个流的读取要求。使用Enumeration的情况下,它将继续读取所有InputStream流直到最后一个被读完。
text.txt与file2.txt一定要在当前目录下。
*/
//Demonstrate squenced input.
import java.io.*;
import java.util.*;
class InputStreamEnumerator implements Enumeration{
 private Enumeration files;
 public InputStreamEnumerator(Vector files){
  this.files = files.elements();
 }
 public boolean hasMoreElements(){
  return files.hasMoreElements();
 }
 public Object nextElement(){
  try{
   return new FileInputStream(files.nextElement().toString());
  }catch(Exception e){
   return null;
  }
 }
}
class SequenceInputStreamDemo{
 public static void main(String[] args) throws Exception{
  int c;
  Vector files = new Vector();
  files.addElement("text.txt");
  files.addElement("file2.txt");

  InputStreamEnumerator e = new InputStreamEnumerator(files);
  InputStream input = new SequenceInputStream(e);
  while((c=input.read())!=-1){
   System.out.print((char)c); 
  }
  input.close();
 }
}
分享到:
评论

相关推荐

    java序列号流基础入门.docx

    Java序列化流(SequenceInputStream)是Java I/O流中的一个重要概念,它允许程序将多个输入流串联起来,形成一个逻辑上的连续输入流。这在处理多个数据源合并或连续读取时非常有用。在给定的示例代码中,我们可以...

    java序列号流基础入门.pdf

    总结起来,Java的SequenceInputStream提供了一种方便的方式来顺序读取多个输入流,而不需要手动管理多个流的读取顺序。这在处理多个数据源或合并文件时非常实用,简化了代码并提高了可读性。同时,通过结合使用...

    Java IO口解析(初级)

    - **`SequenceInputStream`**:合并多个输入流为一个单一的顺序输入流。 ##### 2. 字节流操作 - **读取操作**:通过 `read()` 方法从流中读取字节。 - **关闭流**:使用 `close()` 方法关闭流,释放系统资源。 ##...

    Java,彻底明白Java语言中的IO系统

    - `SequenceInputStream`:可以将多个输入流合并成一个输入流。 - **输出流**:向目标端写入字节数据。主要类包括: - `ByteArrayOutputStream`:将数据写入内存数组。 - `FileOutputStream`:将数据写入文件。 ...

    JAVA IO流学习文档

    - **示例**:创建一个读取文件的字符输入流,并指定使用UTF-8编码: ```java Reader reader = new InputStreamReader(new FileInputStream("file.txt"), "UTF-8"); ``` #### 七、面向对象的继承性与装饰模式的...

    JAVA-IO详解,方法和例子

    - 输入流:ByteArrayInputStream、StringBufferInputStream、FileInputStream、PipedInputStream和SequenceInputStream。 - 输出流:ByteArrayOutputStream、FileOutputStream、PipedOutputStream和...

    缝线输出

    4. **SequenceInputStream**:这个类允许我们顺序地读取多个输入流,就像它们是一个单一的流。在缝线输出中,这个类可以用来合并多个小的输入流。 5. **RandomAccessFile**:如果需要在文件的任意位置进行读写,...

    java初级知识

    ### Java初级知识要点详解 #### 一、Java概述与基础知识 **1....** 编程是指通过编写计算机程序来实现特定功能的过程。它涉及使用特定的编程语言(如Java),按照一定的规则和逻辑组织代码,以解决具体问题或实现特定...

    Java实现大文件的切割与合并操作示例

    在合并文件时,`mergeDemo()`方法使用了`SequenceInputStream`,它可以按顺序读取多个输入流。我们创建一个`ArrayList`来保存每个部分文件的`FileInputStream`,然后使用`Collections.enumeration()`将列表转换为...

    传智播客视频JavaSE学习笔记

    输入流用于读取数据,输出流用于写入数据,Java中的流分为字节流和字符流两大类。 #### 二、字符流的由来 字符流是为了方便处理文本数据而设计的,底层基于字节流实现,通过字符集编码转换完成。 #### 三、编码表...

Global site tag (gtag.js) - Google Analytics