IO —— 合并流的使用
2016-07-24 08:36
447 查看
例1:合并流的使用示例,将两个文件合并成一个文件
/** * Created by liwei on 16/7/20. * 测试流程:合并两个文本文件 */ /* * 以前的操作: * a.txt -- b.txt * c.txt -- d.txt * * 现在想要: * a.txt+b.txt -- c.txt */ public class SequenceInputStreamDemo { public static void main(String[] args) throws FileNotFoundException,IOException { // SequenceInputStream(InputStream s1, InputStream s2) InputStream s1 = new FileInputStream("se1.txt"); InputStream s2 = new FileInputStream("se2.txt"); SequenceInputStream sis = new SequenceInputStream(s1,s2); // 封装一个输出流 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("merge.txt")); // 如何进行读写呢,其实很简单,以前怎么读写,现在就怎么读写 byte[] bys = new byte[1024]; int len = 0; while ((len=sis.read(bys))!=-1){ bos.write(bys,0,len); } bos.close(); sis.close(); } }
例2:把三个文件合并在一起
/** * Created by liwei on 16/7/20. * * 测试流程:合并三个文本文件 */ /* * 以前的操作: * a.txt -- b.txt * c.txt -- d.txt * e.txt -- f.txt * * 现在想要: * a.txt+b.txt+c.txt -- d.txt */ public class SequenceInputStreamDemo2 { public static void main(String[] args) throws IOException { // 需求:把下面的三个文件的内容复制到Copy.java中 // ByteArrayStreamDemo.java,CopyFileDemo.java,DataStreamDemo.java // SequenceInputStream(Enumeration e) // 通过简单的回顾我们知道了Enumeration是Vector中的一个方法的返回值类型。 // Enumeration<E> elements() Vector<InputStream> v = new Vector<>(); InputStream s1 = new FileInputStream("se1.txt"); InputStream s2 = new FileInputStream("se2.txt"); InputStream s3 = new FileInputStream("merge.txt"); v.add(s1); v.add(s2); v.add(s3); Enumeration<InputStream> en = v.elements(); SequenceInputStream sequenceInputStream = new SequenceInputStream(en); // 封装一个输出流 BufferedOutputStream bos = new BufferedOutputStream( new FileOutputStream("mergeMore.txt")); int len = 0; byte[] bys = new byte[100]; while ((len=sequenceInputStream.read(bys))!=-1){ bos.write(bys,0,len); } bos.close(); sequenceInputStream.close(); } }
相关文章推荐
- Mysql IO 内存方面的优化
- Node.js 的异步 IO 性能探讨
- SQL Server误区30日谈 第22天 资源调控器可以调控IO
- mysql 数据同步 出现Slave_IO_Running:No问题的解决方法小结
- java中的Io(input与output)操作总结(一)
- GO语言的IO方法实例小结
- java中的Io(input与output)操作总结(四)
- C#路径,文件,目录及IO常见操作汇总
- SQL语句实现查询当前数据库IO等待状况
- Java进阶教程之IO基础
- java中的Io(input与output)操作总结(三)
- Java 1.0和Java 1.1 的IO类的比较
- Java中的BufferedInputStream与BufferedOutputStream使用示例
- JAVA IO API使用详解
- Java NIO和IO的区别
- Java编程中最基础的文件和目录操作方法详解
- Python中使用select模块实现非阻塞的IO
- Python通过poll实现异步IO的方法
- Python通过select实现异步IO的方法
- Java编程中字节流与字符流IO操作示例