zoukankan      html  css  js  c++  java
  • Java-->分割文件

    --> 通过IO 流将一个文件分割成多份

    package com.dragon.java.splitfile;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Scanner;
    
    /*
     * 分割文件
     */
    public class Test {
        public static void main(String[] args) throws IOException {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入要分割的文件路径:");
            File file = new File(scanner.next());
            System.out.println("请输入要分割的份数:");
            int n = scanner.nextInt();
    
            // 创建文件夹存放分割后的文件
            // File parentDir = new File(file.getParent());
            File dir = new File(file.getParent(), "split"); // 创建文件夹存放分割后的文件
            dir.mkdir();
    
            // 每一段的大小,加 1 为防止数据的丢失
            long partLength = file.length() / n + 1;
            FileInputStream fis = new FileInputStream(file);
            for (int i = 1; i < n + 1; i++) {
                // 定义输出流到子文件中,并设置子文件名
                FileOutputStream fos = new FileOutputStream(new File(dir, "part"
                        + i + "." + file.getName().split("\.")[1])); // 定义输出流到子文件中
    
                byte[] buffer = new byte[(int) partLength];
                int len = fis.read(buffer);
                // 将数据写到子文件中
                fos.write(buffer, 0, len);
                fos.close();
            }
            fis.close();
            // 若想要修改文件夹的名字,前提是修改的路径名之前是不存在的
            // file.delete(); // 删除原文件
            // dir.renameTo(file.getParentFile()); // 修改文件夹的名字
        }
    }

    --> 本来想用这个方法切割一个图片文件,结果发现只有第一份成功,其他的都无效了...

    --> 一个图片里面包含的数据字节,包含开始、结束等多种信息,所以即使将所以字节分割成多份,还是会有无效的子文件。

  • 相关阅读:
    PHP数组(数组正则表达式、数组、预定义数组)
    面向对象。OOP三大特征:封装,继承,多态。 这个讲的是【封存】
    uvalive 3938 "Ray, Pass me the dishes!" 线段树 区间合并
    LA4329 Ping pong 树状数组
    HDU 1257 最少拦截系统
    HDU 1260 Tickets
    codeforce 621D
    codeforce 621C Wet Shark and Flowers
    codeforce 621B Wet Shark and Bishops
    codeforce 621A Wet Shark and Odd and Even
  • 原文地址:https://www.cnblogs.com/xmcx1995/p/5779703.html
Copyright © 2011-2022 走看看