1.文件分割
/**
* 分割文件
* @param srcFile:待分割的文件
* @param destFile:分割后存储的目录
* @param size:要分割的大小(单位:KB)
* @return filename:产生文件的文件名称
*/
public static String[] division(File srcFile,String destName,int size,String name){
File destFile = new File(destName);
int bloksize = 0;
FileInputStream fis = null;
try{
//判断目标目录是否存在,如果不存在则进行创建
if(!destFile.isDirectory()){
destFile.mkdirs();
}
bloksize = 1024 * size;
int length = (int)srcFile.length();
//计算分割出的文件的数量
int num = length/bloksize;
int yu = length%bloksize;
fis = new FileInputStream(srcFile);
File[] file = new File[num+1];
int begin = 0;
String[] filename = null;
if(yu != 0)
filename = new String[num+1];
else
filename = new String[num];
for(int i=0;i<num;i++){
file[i] = new File(destFile.getAbsolutePath()+"\\"+name+(i+1)+".fasp");
if(!file[i].isFile()){
file[i].createNewFile();
}
FileOutputStream fos = new FileOutputStream(file[i]);
byte[] bt = new byte[bloksize];
fis.read(bt);
fos.write(bt);
begin = begin + size*1024;
fos.close();
filename[i] = name+(i+1)+".fasp";
}
if(yu != 0){
file[num] = new File(destFile.getAbsolutePath()+"\\"+name+(num+1)+".fasp");
if(!file[num].isFile()){
file[num].createNewFile();
}
FileOutputStream fosyu = new FileOutputStream(file[num]);
byte[] bt = new byte[yu];
fis.read(bt);
fosyu.write(bt);
fosyu.close();
filename[num] = name+(num+1)+".fasp";
}
return filename;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
2.文件合并
/**
* 文件合并
* @param f:需要合并的文件数组
* @param destName:合并后的文件存储的目录
* @param filename:合并文件的名称
* @return
*/
public static boolean merge(File[] f,String destName,String filename){
File destFile = new File(destName);
try{
File mergeFile = new File(destFile.getAbsoluteFile()+"\\"+filename);
//检查目标文件是否存在,如果不存在则进行创建
if(!mergeFile.isFile()){
mergeFile.createNewFile();
}
FileOutputStream fos = new FileOutputStream(mergeFile);
//将分割的文件以文件流的方式读取然后写入到目标文件
for(int i = 0;i<f.length;i++){
FileInputStream fis = new FileInputStream(f[i]);
int len = (int)f[i].length();
byte[] bt = new byte[len];
fis.read(bt);
fos.write(bt);
fis.close();
}
fos.close();
return true;
}catch(Exception e){
e.printStackTrace();
}
return false;
}
分享到:
相关推荐
在这个项目中,我们关注的是一个名为“文件分割合并器”的工具,它是使用C#编程语言开发的。这个工具的主要功能是将大文件拆分为多个小文件,也可以将这些小文件重新合并为原始的大文件。通过运用FileStream类,...
在标题"delphi文件分割合并"中,我们可以理解为这是一个使用Delphi 2009编写的程序,其主要功能是将大文件拆分为多个小文件以便于管理或传输,同时也可以将这些小文件重新组合成原始的大文件。这涉及到文件I/O操作、...
文件分割合并工具 文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具文件...
文件分割合并器是一款实用工具,主要用于处理大体积的文件,将其分割成较小的部分以便于传输、存储或管理,之后还能将这些分割后的部分重新合并成原始文件。在现代的数字生活中,我们可能会遇到需要发送超大文件的...
"文件分割合并精灵"是一款工具,它可以帮助用户轻松地完成这个任务。下面将详细介绍这个软件的工作原理、应用场景以及使用注意事项。 文件分割是指将一个大文件切割成多个小文件,以便于管理和传输。例如,如果有一...
"文件分割合并机"是一款专为处理大文件而设计的实用工具,它允许用户将大文件分割成更小的部分,以便于存储、传输或管理,同时也支持将这些分割后的文件重新合并成原始文件。在现代信息技术中,面对动辄GB级别的大...
例如,"文件分割合并"可能就是这样一个工具,其包含的文件如"文件分割合并.exe"可能就是程序的执行文件,而其他带有“潨摡”、“潜橢”等字样的文件可能是程序的配置文件或帮助文档,用于指导用户如何使用该工具。...
《文件分割合并工具UltraFileSplitter的深度解析与应用指南》 在数字化时代,大文件的处理成为我们日常工作中常见的挑战。文件分割合并工具UltraFileSplitter,以其高效、便捷的特点,成为了处理大文件的理想选择。...
本项目——"C语言开发文件分割合并管理器",正是基于这一需求而设计的。 文件分割器通常包含以下核心功能: 1. **文件分割**:程序首先读取原始大文件,然后按照用户指定的大小或数量将文件分割成若干个小文件。这...
"WIN10文件分割合并"是一个针对这种情况的解决方案,它使得大文件能够被分割成更小的部分,方便管理和传输,之后再进行合并恢复原始文件。 文件分割器是一种工具,专门设计用于将大文件拆分为多个小文件。"大文本...
文件分割合并工具文件分割合并工具文件分割合并工具文件分割合并工具
闪电文件分割合并工具是一款高效、便捷的绿色软件,专为用户解决大文件处理问题而设计。它能够将大型文件轻松地分割成多个小文件,便于存储、传输或管理,同时也能将这些分割后的文件准确无误地合并回原始状态。这款...
【海鸥文件分割合并器】是一款实用的工具软件,专门设计用于处理大文件的分割与合并操作。在日常工作中,我们经常会遇到需要传输或存储的大文件,由于文件大小的限制,传统的邮件系统或其他云存储平台可能无法直接...
这就是"PDF文件分割合并助手"所扮演的角色。 PDF文件分割是指将一个大型的PDF文档拆分成若干个较小的部分,这通常是因为文件过大,不方便传输或阅读。例如,一份包含多章节的书籍PDF,我们可以按照章节将其分割,...
文件分割合并器FileSplit是一款专为用户解决大文件处理需求的实用工具,它允许用户将一个大文件分割成多个小文件以便于传输、存储或管理,同时也能将这些分割后的文件重新合并,恢复原文件。在日常工作中,我们可能...