`

Java中的使用枚举来合并序列流

 
阅读更多

 /**
      * 合并分割的文件
      * 即:使用序列流来合并分割的文件
      * 注意:合并文件时,必须按之前的分割的文件顺序去合并,不然会出现错误
      * @throws IOException
      */
     public static void merge()throws IOException{
      File file1=new File("F:\\pic\\1.part");
      File file2=new File("F:\\pic\\2.part");
      ///通常不适用Vector效率比较慢
  /*    Vector<FileInputStream> v=new Vector<FileInputStream>();
      v.add(new FileInputStream(file1));
      v.add(new FileInputStream(file2));*/

//      Enumeration<FileInputStream> enu=Collections.enumeration(v);
//      Enumeration<FileInputStream> enu=v.elements();
      ///////////////////////////////这种方法:匿名内部类 可以试试//////////////////////////
      List<FileInputStream> list=new ArrayList<FileInputStream>();
      list.add(new FileInputStream(file1));
      list.add(new FileInputStream(file2));
      final Iterator<FileInputStream> item=list.iterator();//必须加上常量
      Enumeration<FileInputStream> en=new Enumeration<FileInputStream>() {
   public FileInputStream nextElement() {
    return item.next();
   }
   
   public boolean hasMoreElements() {
    return item.hasNext();
   }
  };
     SequenceInputStream sis=new SequenceInputStream(en);
//   SequenceInputStream sis=new SequenceInputStream(enu);
      FileOutputStream fos=new FileOutputStream("F:\\pic\\merge.jpg");
      int len=0;
      byte[]data=new byte[1024];
      while(-1!=(len=sis.read(data))){
       fos.write(data, 0, len);
       fos.flush();
      }
      fos.close();
      sis.close();
     }

分享到:
评论

相关推荐

    protobuf-java-3.0.0.tar.gz

    1. 定义数据结构:在.proto文件中使用protobuf语法定义数据结构,如消息类型、字段、枚举等。 2. 编译.proto文件:使用`protoc`编译器生成对应语言的源代码,如Java或C++。 3. 在代码中使用:导入生成的类,读写...

    java jdk实列宝典 光盘源代码

    java为数据结构中的列表定义了一个接口类java.util.list同时提供了3个实现类,分别是ArrayList、Vector、LinkedList使用; 生成不重复的随机数序列;列表、集合与数组的互相转换;java为数据结构中的映射定义一个接口...

    Java语言程序设计 第10版 进阶篇 中文part2(共2部分) Y.Daniel Liang 梁勇

    7. **枚举类型**:Java的枚举类型提供了一种安全、类型安全的方式来表示固定数量的值,书中会讲解其使用场景和优势。 8. **注解**:注解是Java的一种元数据,可以用于代码分析、编译时或运行时处理。书中会介绍标准...

    Thinking in Java 中文第四版+习题答案

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    Java API文档 中文版

    7. **泛型**:Java泛型允许在类、接口和方法声明中使用类型参数,增强了代码的类型安全性和重用性。例如,`ArrayList&lt;T&gt;`中的`T`就是类型参数。 8. **I/O新特性NIO**:Java的`java.nio`包引入了非阻塞I/O模型,提供...

    Thinking in Java简体中文(全)

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    java联想(中文)

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    java_21Days(上).

    8. **输入/输出流**:学习如何使用I/O流进行文件读写,包括字节流和字符流,以及缓冲流和对象序列化。 9. **包装类**:了解Java为基本数据类型提供的包装类,如Integer、Double等,以及它们与原始类型之间的转换。 ...

    Java开发详解.zip

    031213_【第12章:JAVA IO】_合并流笔记.pdf 031214_【第12章:JAVA IO】_压缩流笔记.pdf 031215_【第12章:JAVA IO】_回退流笔记.pdf 031216_【第12章:JAVA IO】_字符编码笔记.pdf 031217_【第12章:JAVA IO】_...

    毕向东_Java 25天基础源代码

    15. **枚举与注解**:了解Java的枚举类型,以及注解的使用,理解它们在程序中的特定功能。 16. **反射**:深入探讨Java反射机制,学习如何在运行时动态获取类信息,创建对象,调用方法等。 17. **集合框架高级**:...

    java 编程入门思考

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    Java初学者入门教学

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    java毕业设计&课设-宝可梦图鉴(游戏小程序).zip

    开发者需要理解类、对象、继承、封装和多态等概念,以及如何通过Java编写控制流、异常处理和数据结构。 2. **图形用户界面(GUI)设计**:为了构建用户友好的游戏小程序,开发者可能会使用JavaFX或Swing来创建图形...

    java开发经典算法

    在IT行业中,算法是编程的灵魂,它是一种解决问题的精确步骤序列。Java开发中的经典算法是开发者必须掌握的核心技能,它们能够有效地解决复杂的问题并优化程序性能。以下将详细阐述标题和描述中提到的八大算法: 1....

    JAVA 范例大全 光盘 资源

    实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...

    JAVA_Thinking in Java

    2.2.3 Java中的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用...

    Java JDK实例宝典

    4 使用异常的技巧与原则 第7章 IO——输入输出流 7. 1 获取文件的属性信息 7. 2 列出指定目录下的文件 7. 3 创建文件和目录 7. 4 删除文件和目录 7. 5 移动文件和目录 7. 6 复制文件和...

    java高效开发26个工具类

    1. **字符串处理**:在Java中,String类虽然强大,但有时仍需自定义工具类来增强功能,如字符串格式化、去除空白、替换、分割等。 2. **集合操作**:可能包括对ArrayList、LinkedList、HashMap等集合的便捷操作,如...

    java工程师面试宝典

    但在Java中,你可以使用标号和`break`语句来模拟`goto`的功能,这被称为“标记化的`break`”。 #### 3. `&`和`&&`的区别 `&`和`&&`都是逻辑运算符,但它们的行为有所不同。`&`总是评估其两边的表达式,而`&&`是短路...

Global site tag (gtag.js) - Google Analytics