您的位置:首页 > 其它

简单的两个文件合并【字节流】

2017-11-03 17:05 197 查看
简单的两个文件合并【字节流】
1.使用到的相关知识:

  1.文件的创建   2.字节流读取,写入   3.字节流缓冲区的使用4.sequenceInputStream的使用
                
2.源代码:

package copy2;
 
importjava.io.BufferedOutputStream;
importjava.io.BufferedReader;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
import java.io.FileReader;
importjava.io.SequenceInputStream;
import java.util.Scanner;
 
public class OutInputStream{
       public OutInputStream() throws Exception {
              Scanner sc = new Scanner(System.in);
              // 编写第一个文档
              FileOutputStream out1 = newFileOutputStream("1.txt");
              System.out.println("请输入第一个文本");
              String str1 = sc.nextLine();
              byte[] b1 = str1.getBytes();
              for (int i = 0; i < b1.length; i++) {
                     out1.write(b1[i]);
              }
 
              BufferedOutputStream bos = new BufferedOutputStream(
                            new FileOutputStream("2.txt"));
              System.out.println("请输入第二个文本");
              String str2 = sc.nextLine();
              byte[] b2 = str2.getBytes();
              for (int i = 0; i < b2.length; i++) {
                     bos.write(b2[i]);
              }
              out1.close();
              bos.close();
              // 合并
              FileInputStreamin1 = new FileInputStream("1.txt");
              FileInputStream in2 = newFileInputStream("2.txt");
              SequenceInputStream sis = new SequenceInputStream(in1,in2);
              FileOutputStream out = newFileOutputStream("3.txt");
              int len;
              byte[] buf = new byte[1024];
              while ((len = sis.read(buf)) != -1) {
                     out.write(buf, 0, len);
                     out.write("\r\n".getBytes());
              }
              sis.close();
              out.close();
              System.out.println("文件写入完成!\n合并后的文件为:");
              // 将文本读出来
              BufferedReader br = new BufferedReader(newFileReader("3.txt"));
              String lineTxt = null;
              while ((lineTxt = br.readLine()) != null) {
                     System.out.println(lineTxt);
 
              }
              br.close();
       }
 
       // 测试
       public static void main(String[] args) {
              try {
                     new OutInputStream();
              } catch (Exception e) {
                     e.printStackTrace();
              }
       }
 
}
===========================================




本内容由安康学院“雨季”原创!
 
 
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: