java实现文本文件合并

可以有以下几种方法,但是都只能合并文本文件,对有一定格式的文件(比如:word、excel、bmp等)虽然数据加上去了,表现为文件大小的改变,但是打开文件后看不出结果来。

代码一:
import java.io.*;
public class Test1 {
     public static void main(String[] args){  
           try {
               java.io.File file = new java.io.File("123.txt");         
               java.io.FileOutputStream fos = new java.io.FileOutputStream(file);

              FileInputStream fis = new FileInputStream(new File("haha.txt"));
              FileInputStream fis1 = new FileInputStream(new File("abc.txt"));

              byte[] b = new byte[1];
              while((fis.read(b)) != -1){
                  fos.write(b);
              }
              while((fis1.read(b)) != -1){
                  fos.write(b);
              }
              fos.flush();
              System.out.println("success!");
         }
        catch(Exception e){System.out.println("error: " + e);}
      }
}

代码二(与代码一基本相似,只是先合并输入流):
import java.io.*;
public class Test2 {
     public static void main(String[] args){  
           try {

               java.io.File file = new java.io.File("123.txt");     
               java.io.FileOutputStream fos = new java.io.FileOutputStream(file);

              FileInputStream fis = new FileInputStream(new File("haha.txt"));
              FileInputStream fis1 = new FileInputStream(new File("abc.txt"));
             SequenceInputStream sis = new SequenceInputStream(fis,fis1);
              byte[] b = new byte[1];
              while((sis.read(b)) != -1){
                  fos.write(b);
              }
              fos.flush();
              System.out.println("success!");
         }
        catch(Exception e){System.out.println("error: " + e);}
      }
}

代码三(使用RandomFile):
import java.io.*;
public class Test3{
     public static void main(String[] args){
           try {
              RandomAccessFile outt= new RandomAccessFile(new java.io.File("123.doc"),"rw");
              RandomAccessFile inn= new RandomAccessFile(new File("haha.doc"),"r");
              int c;
              while((c=inn.read())!=-1)
                  outt.write(c);
              RandomAccessFile inn1= new RandomAccessFile(new File("abc.doc"),"r");
              while((c=inn1.read())!=-1)
                  outt.write(c);
             System.out.println("success!");
         }
        catch(Exception e){System.out.println("error: " + e);}
      }
}

转载于:https://my.oschina.net/u/232879/blog/155545

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值