转载:
http://hi.baidu.com/triceratops/blog
import java.io.*;
public class SplitAndCombineFile{
private byte[] buffer = new byte[1024];
private int current;
public void split(File file, long threshold) throws IOException{
long fileSize = file.length();
int fileFragmentCount = (int)(fileSize/threshold+1);
long accumulate;
String filePath = file.getAbsolutePath();
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos;
for(int i=0;i<fileFragmentCount;i++){
fos = new FileOutputStream(new File(filePath+".part"+(i+1)));
accumulate = 0;
while((current=fis.read(buffer,0,1024))!=-1){
accumulate+=current;
fos.write(buffer,0,current);
fos.flush();
if(accumulate>=threshold)
break;
}
fos.close();
}
}
public void combine(File targetFile, File partFileFolder) throws IOException{
if(partFileFolder.isFile())
throw new IOException("\""+partFileFolder+"\" is not a file folder!");
FileOutputStream fos = new FileOutputStream(targetFile);
FileInputStream fis;
File[] partFiles = partFileFolder.listFiles();
for(int i=0;i<partFiles.length;i++){
fis = new FileInputStream(partFiles[i]);
while((current=fis.read(buffer,0,1024))!=-1){
fos.write(buffer,0,current);
fos.flush();
}
}
fos.close();
}
}
分享到:
相关推荐
以下是一个简单的文件合并示例: ```java import java.io.*; public class FileMerger { public static void mergeFiles(String[] chunkFilePaths, String targetFilePath) throws IOException { ...
Java实现多个wav文件合成一个的方法示例 本文介绍了Java实现多个wav文件合成一个的方法,涉及java文件流读写、编码转换、解析等相关操作技巧。 知识点1:Java中的文件流读写 在Java中,文件流读写是通过使用`...
以下是一个简单的文件合并示例: ```java import java.io.*; public class FileMerger { public static void mergeFiles(String[] inputFiles, String outputFile) throws IOException { try (FileOutputStream ...
本文将详细介绍如何使用Java语言实现文件的分割与合并功能。此技术对于数据传输、备份或处理大量数据时非常有用。通过分割大文件为较小的部分,可以有效地减少单个文件的大小,从而更容易进行传输或存储。此外,文件...
本文将深入探讨这一主题,包括简单文件分割与合并、分割后自动合并以及多线程分割与合并三个实例。 首先,简单文件分割是将一个大文件分成若干小文件,以便于传输、存储或管理。这通常通过读取文件内容,设定每部分...
以下是一个简单的示例代码片段,展示了如何将两个文件合并到一个新的文件中: ```java import java.io.*; public class StreamDemo_06 { public static void main(String[] args) { try { File file1 = new ...
在这个文件分割程序中,`split`可能不是直接用于字符串操作,而是借鉴了其分割的概念,用于将大文件拆分为多个小文件。 此外,压缩包内的"www.pudn.com.txt"可能是待分割的示例文件,而"Readme.txt"通常包含关于...
在这个例子中,我们创建了一个`FileChannel`实例用于写入合并后的文件,然后遍历所有输入文件,使用`FileChannel`读取每个文件的内容,并写入到输出文件中。 **3. FileUtils类** 在给定的`FileUtils`文件名列表中,...
这个示例程序“Hadoop示例程序合并文件”旨在演示如何在Hadoop环境下整合多个文件,这对于理解Hadoop分布式文件系统(HDFS)的工作原理至关重要。下面将详细阐述Hadoop的核心组件、HDFS的特性以及如何在Hadoop环境中...
在《Java实现文件拆分与合并》这篇文档中,作者提供了一种基于Java语言的文件拆分方法,主要思路是按照文件的行数来将一个大文件分割成多个小文件。这种技术在处理大数据时非常有用,特别是在Android开发等场景下,...
本压缩包文件“java PDF分割与合并源代码.zip”很可能包含了使用Java编程语言实现的PDF处理功能。 在Java中进行PDF分割,主要是将一个PDF文档拆分成多个更小的文档,每个文档包含原始文档的一部分页面。这个过程...
总的来说,"java_分割合并.rar"涵盖了Web开发中与文件操作相关的多个重要方面。无论是处理用户上传的文件,还是进行安全的数据存储,Java都能提供强大且灵活的解决方案。通过对这些知识点的深入理解和实践,开发者...
以下是一个简单的文件合并示例: ```java import java.io.*; public class FileMerger { public static void mergeFiles(String[] inputFiles, String outputFile) { try (BufferedReader reader = null; ...
在"PDF分割与合并源代码"这个压缩包中,可能包含了使用上述库之一实现的Java源代码示例。你可以通过学习和理解这些代码,掌握如何在自己的项目中实现PDF的分割与合并功能。在使用时,应遵循开源库的许可证条款,尊重...
每个线程负责一个或多个文件块的上传,这可以通过Java的并发库如ExecutorService来实现。 5. **服务器端处理**:服务器端需要能接收并处理这些带有Range头信息的请求,合并已接收到的块来重新构造整个文件。同时,...
下面是一个简单的例子,演示如何使用`split()`方法以空格为分隔符分割字符串: ```java public class StringDemo_11 { public static void main(String[] args) { String str = "Hello Java 分割字符串 示例"; ...
在Java编程中,文件分割是一项常见的任务,尤其在大数据处理、网络传输或存储优化时显得尤为重要。本示例“java实现文件的分割.rar”提供的SplitFile程序,利用了Java的随机访问流(RandomAccessFile)来实现文件的...
以下是一个简单的文件合并示例: ```java import java.io.*; public class FileMerger { public static void mergeFiles(String[] inputFiles, String outputFile) { try (FileOutputStream fos = new ...
2. PDFMerger:用于合并多个PDF文档到一个文件中。 3. PDFUtils:可能包含一些通用的辅助函数,如打开/关闭PDF文档、读取/写入文件等。 通过研究和理解这些源代码,开发者不仅可以掌握PDF处理的基本原理,还能了解...