首页 > 代码库 > RandomAccessFile拆分合并文件
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拆分合并文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。