RandomAccessFile拆分合并文件

Posted woqiaoxun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RandomAccessFile拆分合并文件相关的知识,希望对你有一定的参考价值。

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.io.SequenceInputStream;
import java.util.Vector;

public class RandonFileAccessTest {
    public static void main(String[] args) throws IOException {
       
        splitFile("test.txt");
        mergeFile();
        mergeFile2();
    }
    
    
    //拆分文件
    public static void splitFile(String path) throws IOException{
        InputStream is = new FileInputStream(path);
        int len=0;
        byte[] buff = new byte[1024];
        int i = 1;
        while((len=is.read(buff))!=-1){
            RandomAccessFile raf = new RandomAccessFile("raf"+i+".txt", "rw");//raf1.txt raf2.txt 一共只有两个文件
            raf.write(buff,0,len);
            raf.close();
            i++;
        }
        is.close();
    }
    
  //合并文件
public static void mergeFile() throws IOException{ RandomAccessFile raf = new RandomAccessFile("raf3.txt", "rw"); InputStream is = null; for(int i=1;i<3;i++){ int len=0; is = new FileInputStream("raf"+i+".txt"); //一共就两个文件 byte[] buff = new byte[1024]; while((len=is.read(buff))!=-1){ raf.write(buff,0,len); } } is.close(); raf.close(); }
  //另一种方式的合并文件
public static void mergeFile2() throws IOException{ RandomAccessFile raf = new RandomAccessFile("raf4.txt", "rw"); InputStream is = null; Vector<InputStream> vt = new Vector<InputStream>(); for(int i=1;i<3;i++){ is = new FileInputStream("raf"+i+".txt");//raf1.txt raf2.txt vt.addElement(is); } SequenceInputStream sis = new SequenceInputStream(vt.elements()); int len=0; byte[] buff = new byte[1024]; while((len=sis.read(buff))!=-1){ raf.write(buff,0,len); } sis.close(); is.close(); raf.close(); } }

 



以上是关于RandomAccessFile拆分合并文件的主要内容,如果未能解决你的问题,请参考以下文章

csharp C#文件分割器代码。第二个文件是拆分器合并应用程序。

黑马程序猿——25,打印流,合并流,对象序列化,管道流,RandomAccessFile

JAVA实现PDF合并拆分代码工具类

JAVA实现PDF合并拆分代码工具类

Java 合并拆分PDF文档

Java 合并拆分PDF文档