zoukankan      html  css  js  c++  java
  • Java实现文件分割和文件合并实例

    文件切割和文件合并这个问题困扰了我有一段时间了(超过一天没做粗来)。

    找了好多博客,本来想转载一个来的 结果找不到了。很无奈。

    只好自己贴代码上了。

    当然我会尽力好好写注释的。

    文件切割器:
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.util.Scanner;

    public class Main {
    public static void main(String[] args) throws FileNotFoundException, IOException {
    File sourceFile = new File("ping.mp3");
    // System.out.println(sourceFile.exists());
    Scanner scanner = new Scanner(System.in);
    int numberOfPieces = 1; //默认文件切割的数量
    System.out.println("Enter:"); //提示输入
    numberOfPieces = scanner.nextInt(); //输入
    scanner.close(); //输入后就关闭 装完逼就跑一个道理
    long fileLength = sourceFile.length() / numberOfPieces; //分一下每一个小文件的大小
    byte[] b = new byte[1024]; //这个不解释 如果看不懂 就去看IO流去吧
    RandomAccessFile raf1 = new RandomAccessFile(sourceFile, "r");
    int len = -1;
    for(int i = 0; i < numberOfPieces; i++) {
    String name = sourceFile.getName() + "." + (i+1);
    File file = new File(name);
    file.createNewFile();
    RandomAccessFile raf2 = new RandomAccessFile(file, "rw");
    while((len = raf1.read(b)) != -1) {
    raf2.write(b, 0, len); //我觉的这样写比raf2.write(b);高明一些
    if(raf2.length() > fileLength) //如果太大了就不在这个子文件写了 换下一个
    break;
    }
    raf2.close();
    }
    raf1.close();
    }
    }

  • 相关阅读:
    天生我牛必有用
    struts1.x+spring2.5+JPA(hibernate)整合
    Struts2拦截器
    使用Apache的commonscodes加密
    解放鞋 Ospop解放鞋
    告别2008 明天2009
    异常java.lang.UnsupportedClassVersionError: Bad version number in .class file
    C#中的Process类使用
    C#中使用MD5加密
    Struts2 Action(1)
  • 原文地址:https://www.cnblogs.com/tuu02499/p/13863802.html
Copyright © 2011-2022 走看看