- 浏览: 265135 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (298)
- 工作感悟 (6)
- java基础 (23)
- 计算机硬件知识 (1)
- 计算机网络知识 (2)
- Struts (3)
- Srping (4)
- hibernate (0)
- ibatis (0)
- webservice (4)
- Thread (22)
- maven (5)
- ubuntu/linux/centos/redhat (46)
- SSO (1)
- ESB (0)
- 工作流 (0)
- oracle (15)
- 云计算 (1)
- hadoop (1)
- nosql (0)
- mysql (3)
- sqlserver (0)
- jquery (0)
- 分布式 (3)
- 集群 (0)
- 设计模式 (2)
- EJB (0)
- map (0)
- cache (5)
- Niginx+varnish+squid+Ats (14)
- Apache (0)
- 工作/职业规划 (0)
- Scala & Groovy (1)
- English (4)
- 数据结构/算法 (6)
- 开发工具 (5)
- 测试 (2)
- Exception (0)
- 定时器 (3)
- j2ee (2)
- 部署 (1)
- Openssl (1)
- 操作系统 (3)
- kvm (13)
- libvirt (5)
- PostgreSql (5)
- 虚拟化 (3)
- 概念理解 (1)
- virt-manager (1)
- RESTful (3)
- 其它 (4)
- ssh2 (14)
- windows (1)
- 房产 (2)
- svn (1)
- 手机 (1)
- ant (1)
- flume (2)
- sqoop (1)
- fastdfs (5)
- log4j (1)
- SPDY (1)
- mongodb (2)
- MQ (2)
- Mina (1)
- dubbo (4)
- PMP (1)
- Webshpere (2)
- jvm (1)
- Btrace (1)
- zookeeper (7)
- UML (1)
- spring cloud (6)
- spring boot (5)
- storm (0)
- 软件管理 (1)
- elasticsearch (1)
- 协议 (2)
- docker (1)
- 性能 (2)
- 安全 (1)
- 代码规范 (1)
- mqtt (1)
- lombok (1)
- 车联网 (1)
- kafka (1)
最新评论
将多个流合并成一个流
例:将多个文件合并到一个流中,再写到一个文件中:
合并文件
切割文件
SequenceInputStream(Enumeration<? extends InputStream> e) SequenceInputStream(InputStream s1, InputStream s2)
例:将多个文件合并到一个流中,再写到一个文件中:
Vector<FileInputStream> v = new Vector<FileInputStream>(); v.add(new FileInputStream("c:\\1.txt")); v.add(new FileInputStream("c:\\2.txt")); v.add(new FileInputStream("c:\\3.txt")); Enumeration<FileInputStream> en = v.elements(); SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("c:\\4.txt"); byte[] buf = new byte[1024]; int len =0; while((len=sis.read(buf))!=-1) { fos.write(buf,0,len); } fos.close(); sis.close();
合并文件
ArrayList<FileInputStream> aList = new ArrayList<FileInputStream>();// 为什么要用list,因为Vector已经过时了。 for (int x = 1; x <= 4; x++) { aList.add(new FileInputStream("d:\\tmp\\" + x + ".part"));// 循环的将d:\\tmp\\下的part文件加入aList中 } final Iterator<FileInputStream> it = aList.iterator(); Enumeration<FileInputStream> en = new Enumeration<FileInputStream>() { @Override public FileInputStream nextElement() { // TODO Auto-generated method stub return it.next(); } @Override public boolean hasMoreElements() { // TODO Auto-generated method stub return it.hasNext(); } }; SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("d:\\tmp\\aa.exe"); byte[] buf = new byte[1024 * 1024]; int len = 0; while ((len = sis.read(buf)) != -1) { fos.write(buf, 0, len); } fos.close(); sis.close();
切割文件
FileInputStream fis = new FileInputStream("d:\\tmp\\plsqldev.exe"); FileOutputStream fos = null; byte[] bytes = new byte[1024 * 1024 * 3]; int len = 0; int count = 1; while ((len = fis.read(bytes)) != -1) { fos = new FileOutputStream("d:\\tmp\\" + (count++) + ".part"); fos.write(bytes, 0, len); } fos.close(); fis.close();
发表评论
-
java io 之管道(PipedOutputStream和PipedInputStream)的简介,源码分析和示例
2017-09-27 10:39 298java 管道介绍 在java中, ... -
Java通过Executors提供四种线程池
2017-09-27 10:21 466Java通过Executors提供四种线程池,分别为: new ... -
Java同步注解(Annotation)解释
2017-09-18 18:18 1038JDK 5.0 以后增加了注解。就是@后面加一个名称。有其自身 ... -
url参数中出现+、空格、=、%、&、#等字符的解决办法
2017-03-08 15:31 593url出现了有+,空格,/,?,%,#,&,=等特殊符 ... -
Eclipse远程调试之Socket Attach与Socket Listen
2014-08-21 13:52 1691打个比方,被远程debug/监视 的进程就是一个风度翩翩的美少 ... -
关于java用jni调用 dll动态库Can't find dependent libraries错误的解决
2014-08-21 08:56 12301.package com.bsp.zauto.commo ... -
java 远程调试备忘
2013-12-11 16:45 873远程调试java程序 http://hi.baidu.com ... -
[转贴]System.getProperty()参数大全
2013-11-20 15:39 492一直做Web应用一般不会用到这些东西,今天在搞一个代码生成器的 ... -
Java Daemon线程
2013-09-05 13:27 616所谓守护线程就是运行 ... -
DelayQueue队列研究
2013-08-07 15:40 6711.DelayQueue 是一个无界的BlockingQue ... -
java 原语
2013-07-18 13:20 1184介绍 操作系统用语范畴 ... -
精巧好用的DelayQueue
2013-07-03 11:13 666我们谈一下实际的场景吧。我们在开发中,有如下场景 a) 关闭 ... -
log4j的配置文件备份.[成功测试]
2013-06-25 14:29 9391.在项目的config目录下,新建配置文件 log4j.xm ... -
log4j的xml配置详细
2013-06-24 13:48 614这是log4j默认的配置,我们先熟悉一下 <!-- ... -
java用log4j记录日志的基本方法
2013-06-24 10:57 585Log4j基本使用方法 Log4j由三个重要的组件构成: ... -
java 堆 栈
2013-06-21 16:53 602由String看Java堆栈问题,包括==以及equal()。 ... -
Java ThreadPoolExecutor思想介绍
2013-06-14 16:31 597一、简介 线程池类为 j ... -
JDK线程池的ThreadFactory
2013-06-14 16:10 797JDK线程池:Executors.newFixedThread ... -
java 中到底什么叫闭包
2013-03-26 13:24 1229什么是闭包 闭包的 ... -
java中的标签
2013-03-20 14:46 788Java中为了使程序结构更 ...
相关推荐
4. **序列流** - `SequenceInputStream`: 用于合并多个输入流。 5. **对象序列化流** - `ObjectInputStream` 和 `ObjectOutputStream`: 用于对象的序列化和反序列化。 6. **字节流** - `InputStream`: 输入流基类。...
- 输入流:例如,`ByteArrayInputStream`从内存缓冲区读取,`StringBufferInputStream`从字符串读取,`FileInputStream`用于读取文件,`PipedInputStream`用于线程间的通信,`SequenceInputStream`合并多个输入流。...
Java序列化流(SequenceInputStream)是Java I/O流中的一个重要概念,它允许程序将多个输入流串联起来,形成一个逻辑上的连续输入流。这在处理多个数据源合并或连续读取时非常有用。在给定的示例代码中,我们可以...
Java 字节流与字符流的介绍 Java 中的流操作可以分为两种:字节流和字符流。字节流是指以 byte 为单位进行读写操作的流,而字符流是指以 char 为单位进行读写操作的流。 字节流的介绍 字节流的所有读操作都继承自...
- SequenceInputStream:允许从多个输入流中连续读取数据。 7. NIO(New IO): - 自Java 1.4引入,NIO提供了非阻塞I/O操作,增加了Channel、Selector和Buffer等新概念,提高了效率和并发性。 8. 考虑到效率,...
2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、CharSequence、OutputStreamWriter、FileOutputStream、InputStreamReader、PrintWriter、BufferedReader、InputStream、...
- SequenceInputStream:合并多个输入流,按顺序读取。 - LineNumberInputStream:记录并提供行号的输入流。 - DataInputStream:增加了读取基本数据类型(如int、float)的方法。 除了InputStream,还有...
- 可以通过 `PipedInputStream` 和 `PipedOutputStream` 实现线程间的通信,或者使用 `SequenceInputStream` 合并多个输入流。 8. 转换流: - `InputStreamReader` 和 `OutputStreamWriter` 可以将字节流转换为...
- **SequenceInputStream**: 可以合并多个输入流。 **3.2 字符流** - **Reader**: 所有字符输入流的父类。 - **Writer**: 所有字符输出流的父类。 字符流与字节流的主要区别在于它们的基本单位不同。字符流以`...
Java序列号流(SequenceInputStream)是Java I/O流中的一个类,它允许我们将多个输入流连接在一起,就像一个单一的输入流一样进行操作。这在处理多个文件合并或者需要顺序读取不同源的数据时非常有用。 在示例代码...
- `SequenceInputStream`:将多个输入流组合成一个输入流。 - **OutputStream**:代表数据目的的输出流。 - `ByteArrayOutputStream`:将数据输出到内存中的字节数组。 - `FileOutputStream`:用于向磁盘文件写入...
以下是一个关于如何使用Java实现大文件切割与合并的详细说明。 首先,我们需要引入Java的`java.io`包,因为大部分文件操作都在这个包中。在这个示例中,我们使用`FileInputStream`和`FileOutputStream`进行读写操作...
* SequenceInputStream:用于合并碎片流。 * FileOutputStream:用于写入文件。 * byte[]:用于缓冲区。 java 实现合并文件的代码示例如下: ```java public class MergeFileTest { public static void main...
除了基本的输入输出流,还有一些特殊类型的流,如LineNumberInputStream提供行号功能,PushbackInputStream允许回退已读取的字节,而SequenceInputStream允许合并多个输入流。PrintStream是实用工具类,它可以格式化...
- 特殊需求,包括转换类如 `InputStreamReader` 和 `OutputStreamWriter`,对象输入输出类 `ObjectInputStream` 和 `ObjectOutputStream`,进程间通信的管道流,以及合并输入的 `SequenceInputStream` 等。...
在这个例子中,我们首先创建了两个`FileInputStream`对象,然后用`ArrayList`和`Collections.enumeration()`方法将其转换为枚举,最后通过`SequenceInputStream`将两个文件合并成一个流进行读取。 **2. 文件写入的...
- `PipedInputStream`和`PipedOutputStream`允许在不同的线程之间创建管道进行数据传输,而`SequenceInputStream`则可以将多个输入流串联起来作为一个单一的输入源。 7. **内存流**: - `ByteArrayInputStream`和...
- **SequenceInputStream**:将多个输入流合并为一个输入流,可以顺序读取多个数据源的内容。 - **OutputStream** - **ByteArrayOutputStream**:将数据写入内存中的字节数组。适用于需要将数据暂时存储在内存中...
- SequenceInputStream:组合多个输入流,按顺序读取它们的内容。 2. 输出流(Output Stream) - OutputStream:所有输出流的基类,用于写入原始字节。 - ByteArrayOutputStream:接收字节并存储到内存中,可将...
- **多源合并**:使用`SequenceInputStream`。 - **对象序列化**:使用`ObjectInputStream`或`ObjectOutputStream`。 - **基本数据操作**:使用`DataInputStream`或`DataOutputStream`。 #### 八、实例分析 ...