/**
* 合并分割的文件
* 即:使用序列流来合并分割的文件
* 注意:合并文件时,必须按之前的分割的文件顺序去合并,不然会出现错误
* @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();
}
分享到:
相关推荐
1. 定义数据结构:在.proto文件中使用protobuf语法定义数据结构,如消息类型、字段、枚举等。 2. 编译.proto文件:使用`protoc`编译器生成对应语言的源代码,如Java或C++。 3. 在代码中使用:导入生成的类,读写...
java为数据结构中的列表定义了一个接口类java.util.list同时提供了3个实现类,分别是ArrayList、Vector、LinkedList使用; 生成不重复的随机数序列;列表、集合与数组的互相转换;java为数据结构中的映射定义一个接口...
7. **枚举类型**:Java的枚举类型提供了一种安全、类型安全的方式来表示固定数量的值,书中会讲解其使用场景和优势。 8. **注解**:注解是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 使用...
7. **泛型**:Java泛型允许在类、接口和方法声明中使用类型参数,增强了代码的类型安全性和重用性。例如,`ArrayList<T>`中的`T`就是类型参数。 8. **I/O新特性NIO**:Java的`java.nio`包引入了非阻塞I/O模型,提供...
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 使用...
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 使用...
8. **输入/输出流**:学习如何使用I/O流进行文件读写,包括字节流和字符流,以及缓冲流和对象序列化。 9. **包装类**:了解Java为基本数据类型提供的包装类,如Integer、Double等,以及它们与原始类型之间的转换。 ...
031213_【第12章:JAVA IO】_合并流笔记.pdf 031214_【第12章:JAVA IO】_压缩流笔记.pdf 031215_【第12章:JAVA IO】_回退流笔记.pdf 031216_【第12章:JAVA IO】_字符编码笔记.pdf 031217_【第12章:JAVA IO】_...
15. **枚举与注解**:了解Java的枚举类型,以及注解的使用,理解它们在程序中的特定功能。 16. **反射**:深入探讨Java反射机制,学习如何在运行时动态获取类信息,创建对象,调用方法等。 17. **集合框架高级**:...
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 使用...
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. **图形用户界面(GUI)设计**:为了构建用户友好的游戏小程序,开发者可能会使用JavaFX或Swing来创建图形...
在IT行业中,算法是编程的灵魂,它是一种解决问题的精确步骤序列。Java开发中的经典算法是开发者必须掌握的核心技能,它们能够有效地解决复杂的问题并优化程序性能。以下将详细阐述标题和描述中提到的八大算法: 1....
实例3 在Eclipse中创建第一个Java程序 4 常见问题 javac不是内部或者外部命令 6 常见问题 找不到类文件 6 常见问题 语法错误 7 第2章 Java基础语法 9 实例4 变量和常量 9 实例5 基本数据类型转换 10 实例6 ...
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 使用...
4 使用异常的技巧与原则 第7章 IO——输入输出流 7. 1 获取文件的属性信息 7. 2 列出指定目录下的文件 7. 3 创建文件和目录 7. 4 删除文件和目录 7. 5 移动文件和目录 7. 6 复制文件和...
1. **字符串处理**:在Java中,String类虽然强大,但有时仍需自定义工具类来增强功能,如字符串格式化、去除空白、替换、分割等。 2. **集合操作**:可能包括对ArrayList、LinkedList、HashMap等集合的便捷操作,如...
但在Java中,你可以使用标号和`break`语句来模拟`goto`的功能,这被称为“标记化的`break`”。 #### 3. `&`和`&&`的区别 `&`和`&&`都是逻辑运算符,但它们的行为有所不同。`&`总是评估其两边的表达式,而`&&`是短路...