bpl文件java_java IO流(java分割、合并任意类型文件)

/*  * 以下代码演示了java分割和合并文件的功能。  */ import java.io.*; import java.util.ArrayList; import java.util.Enumeration; import java.util.Iterator; public class SplitFileDemo { public static void main(String[] args) throws IOException { //splitFile(); merge(); } //合并文件 public static void merge() throws IOException { //多个读取流对象与文件相关联,首先创建集合 ArrayList a1=new ArrayList(); //添加输入流对象操作文件。 a1.add(new FileInputStream("c:\\abc\\1.txt")); a1.add(new FileInputStream("c:\\abc\\2.txt")); a1.add(new FileInputStream("c:\\abc\\3.txt")); //定义a1的迭代器。 final Iterator it=a1.iterator(); //定义一个枚举类型的变量,复写里面的方法。 Enumeration en=new Enumeration() { //判断枚举里是否还有元素 public boolean hasMoreElements() { //返回一个ithasNext();判断a1里面是否还有元素 return it.hasNext(); } //如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。 public FileInputStream nextElement() { //返回a1里的下一个元素 return it.next(); }}; SequenceInputStream sis =new SequenceInputStream(en); //创建文件读取流对象 FileOutputStream fos=new FileOutputStream("c:\\demo7.txt"); //定义字节数组 byte[] buf=new byte[200]; //记录数组的长度。 int len=0; //将序列流里的字符全部存入数组。 while((len=sis.read(buf))!=-1) { fos.write(buf,0,len); } fos.close(); sis.close(); } public static void splitFile() throws IOException { //创建字节输入流对象读取文本。 FileInputStream fis=new FileInputStream("c:\\b.txt"); //创建字节输出流读取文本。 FileOutputStream fos=null; //创建字节数组。 byte[] buf=new byte[40]; int len=0; int count=1; //将文本中的字节数据存入数组中。 while ((len=fis.read(buf))!=-1) { //使用字节输出流往文本里写入数据。 fos=new FileOutputStream("c:\\abc\\"+(count++)+".txt"); //将字节数组中的字节数据写入输出流的文本中。 fos.write(buf,0,len); fos.close(); } fis.close(); } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值