zoukankan      html  css  js  c++  java
  • 分割流 SequenceInputStream (转)

    import java.io.*;
    import java.util.*; class SplitFile
    {
    public static void main(String[] args) throws Exception
    {
    //splitFile();
    merge();
    } public static void splitFile()throws Exception{
    FileInputStream fis = new FileInputStream("c:\1.mp3");
    FileOutputStream fos = null;

    byte[] buf = new byte[1024*1024]; int len = 0;
    int count = 1; //循环创建n个文件
    while((len = fis.read(buf)) != -1){
    fos = new FileOutputStream("c:\splitfiles\"+ (count++) +".part"); fos.write(buf, 0, len);
    fos.close();
    }

    fis.close(); }
    //合并?
    public static void merge() throws Exception{
    ArrayList<FileInputStream> al = new ArrayList<FileInputStream>(); for(int x=1; x<=17;x++){
    al.add(new FileInputStream("c:\splitfiles\"+x+".part"));
    }
    //匿名内部类,所以要对访问的局部变量做final修饰
    final Iterator<FileInputStream> it = al.iterator(); Enumeration<FileInputStream> en = new Enumeration<FileInputStream>(){
    public boolean hasMoreElements(){
    return it.hasNext();
    } public FileInputStream nextElement(){
    return it.next();
    }
    };
    SequenceInputStream sis = new SequenceInputStream(en); FileOutputStream fos = new FileOutputStream("c:\splitfiles\1.mp3"); byte[] buf = new byte[1024]; int len = 0; while((len = sis.read(buf))!=-1){
    fos.write(buf,0,len);
    }
    fos.close();
    sis.close();
    }
    }

  • 相关阅读:
    分页插件加MVC
    在ASP.NET MVC中,有使用angularjs
    EF比较权威的一篇
    WEBFORM中添加bootstrap套件
    MVC统一设置命名空间
    重新生成索引及重新组织索引
    Dapper.Contrib.Extensions问题
    API Test WebApiTestClient工具安装及使用
    API Test Postman接口测试之高级篇2
    API Test Postman接口测试之高级篇1
  • 原文地址:https://www.cnblogs.com/azhqiang/p/3864648.html
Copyright © 2011-2022 走看看