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()); // 修改文件夹的名字
}
}
--> 本来想用这个方法切割一个图片文件,结果发现只有第一份成功,其他的都无效了...
--> 一个图片里面包含的数据字节,包含开始、结束等多种信息,所以即使将所以字节分割成多份,还是会有无效的子文件。
Java-->分割文件的更多相关文章
- Java 分割文件 注意事项
public static void main(String args[]) throws Exception { if (args.length < 1) { System.exit(0); ...
- java:快速文件分割及合并
文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...
- (转)java:快速文件分割及合并
文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并.很多高大上的分布式文件系统(比如:google的GFS.taobao的TFS)里,也是按block为单位, ...
- java分割excel文件可用jxl
excel导入是经常使用到的功能,如果文件数据量大的话还是建议分割后导入,java常用的API是poi和jxl,我采用的是jxl,那么让我们来看下怎么用jxl来实现分割. 需要在pom中导入jxl的包 ...
- CentOS下安装配置NFS并通过Java进行文件上传下载
1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...
- 沉淀再出发:java的文件读写
沉淀再出发:java的文件读写 一.前言 对于java的文件读写是我们必须使用的一项基本技能,因此了解其中的原理,字节流和字符流的本质有着重要的意义. 二.java中的I/O操作 2.1.文件读写的本 ...
- java 清单文件
Java之jar打包 标签: javajarmanifestmain-classclass-path 2016-03-30 00:29 993人阅读 评论(0) 收藏 举报 分类: Java(6) ...
- Java大文件上传详解及实例代码
1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...
- java创建文件和目录
java创建文件和目录 2013-09-04 12:56 99933人阅读 评论(7) 收藏 举报 分类: JAVA基础(10) 版权声明:本文为博主原创文章,未经博主允许不得转载. 创建文件和目 ...
- java之文件基本操作
java之文件基本操作 1 使用 BufferedReader 在控制台读取字符 public static void readChar() throws IOException{ char c; I ...
随机推荐
- 使用SoundPool播放音效
针对应用程序经常需要播放密集.短促的音效,因为MediaPlayer存在如下缺点: 1.资源占用量较高.延迟时间较长. 2.不支持多个音效同时播放. SoundPool使用音效池的概念来管理多个短促的 ...
- Json文件放入Assets文件,读取解析并且放入listview中显示。
package com.lixu.TestJson; import android.app.Activity; import android.content.Context; import andro ...
- --投资情况统计详情sql
--投资情况统计详情sqlselect BidRecord.*, RegInfo.UserName,UserInfo.phone,BorrowInfo.Title,BorrowInfo.BorrowC ...
- hdu 4631 Sad Love Story
http://acm.hdu.edu.cn/showproblem.php?pid=4631 没想到这道题需要用“平均时间复杂度” 计算 一直没有想到解法 因为不符考虑了最坏情况的理念 方法一: ...
- COleDateTime类型的应用
使用COleDateTime类1) 获取当前时间. CTime time; time = CTime::GetCurrentTime();2) 获取时间元素. int y ...
- Java并发编程(一) 两种实现多线程的方法(Thread,Runnable)
Java中实现多线程的方法有两种: 继承Thread类和实现Runnable方法,并重写Run方法,然后调用start()方法启动线程.使用Runnable会比Thread要好很多,主要是以下三个原因 ...
- Google search
filetype: active directory filetype: eg : lady gaga filetype:mp3 link: eg : link : supinfo.com(链接到su ...
- Word2013可以写博客
步骤如下http://www.cnblogs.com/guyichang/p/4629211.html
- AS的快捷键
Ctrl+Shift+Alt+N 查找类中的方法或变量 Ctrl+P 方法参数提示 Alt+Insert 生成代码(如get,set方法,构造函数等) 删除导入多余的包Ctrl+Alt+o 提取局部变 ...
- Ubuntu 14.10 下Ganglia监控Hadoop集群
前提是已经安装好Ganglia和Hadoop集群 1 Master节点配置hadoop-metrics2.properties # syntax: [prefix].[source|sink|jmx] ...