A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 maxwell247 于 2015-9-30 23:29 编辑

/*
        SequenceInputStream的练习01 -- 简单串联合并两个输入流。

        API说明:
        SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。

        以后写IO流的代码还是用eclipse写算了,用editplus真的累死了。

        finally块里的关闭流的操作的标准写法,以后不管代码有多麻烦,一定会这么写,养成好习惯重要!

*/
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.SequenceInputStream;
import java.io.IOException;

class SequenceInputStreamDemo01 {

        public static void main(String[] args) {
                FileInputStream fis1=null;
                FileInputStream fis2=null;
                SequenceInputStream sis=null;
                FileOutputStream fos=null;
                try{
                        fis1=new FileInputStream("stream1.txt");
                        fis2=new FileInputStream("stream2.txt");
                        //创建一个SequenceInputStream,合并fis1和fis2
                        sis=new SequenceInputStream(fis1,fis2);
                        fos=new FileOutputStream("newText.txt");

                        int len=0;
                        byte[] bytes=new byte[1024];
                        while((len=sis.read(bytes))!=-1){
                                fos.write(bytes,0,len); //将缓冲区中的数据输出
                                fos.write("\r\n".getBytes()); //回车换行
                        }
                }catch(IOException e){
                        e.printStackTrace();
                }finally{
                        // 关闭流
                        try{
                                if (fis1!=null){
                                        fis1.close();
                                }
                        }catch(IOException e){
                                e.printStackTrace();
                        }
                        
                        try{
                                if (fis2!=null){
                                        fis2.close();
                                }
                        }catch(IOException e){
                                e.printStackTrace();
                        }

                        try{
                                if (sis!=null){
                                        sis.close();
                                }
                        }catch(IOException e){
                                e.printStackTrace();
                        }

                        try{
                                if (fos!=null){
                                        fos.close();
                                }
                        }catch(IOException e){
                                e.printStackTrace();
                        }
                }
        }
}
/*
        stream1.txt文件内容:
        我们都是好孩子!
*/
/*
        stream2.txt文件内容:
        请记得我的信仰--黄家驹!
*/
/*
        生成的nextText.txt文件内容:
        我们都是好孩子!
        请记得我的信仰--黄家驹!
*/

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马