Java 文件合并
来源:互联网 发布:淘宝怎么推广 编辑:程序博客网 时间:2024/04/30 02:16
最近公司项目需要将一个大文件分割成若干个小文件进行处理,处理完毕之后将所有的小文件合并为一个文件。
示例代码
package com.xx.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import org.junit.Test;public class FileCombineTest {@Testpublic void test() {String dirPath = "D:/fbb/myWorkSpace_DW/FinalDB/";File dir = new File(dirPath);List<File> files = new ArrayList<File>();for (File tmpFile : dir.listFiles()) {if (tmpFile.getName().startsWith("abc_")) {files.add(tmpFile);}}//对文件集合进行排序(影响后面文件合并的顺序)Collections.sort(files, new NameComparator());try {//abc_1.txt,abc_2.txt --> abc.txtcombineFiles(files,dirPath,"abc.txt");} catch (IOException e) {e.printStackTrace();}}/** * 合并指定目录下的所有 文件 * @param files * @param dirPath * @param saveFileName * @throws IOException */public void combineFiles(List<File> files, String dirPath,String saveFileName)throws IOException {if(files==null ||files.size()<1){throw new RuntimeException("待合并的文件不存在...");}File outputFile = new File(dirPath+saveFileName);if (!outputFile.exists()) {outputFile.createNewFile();}FileChannel outChannel = new FileOutputStream(outputFile).getChannel();FileChannel inChannel;for (File file : files) {inChannel = new FileInputStream(file).getChannel();inChannel.transferTo(0, inChannel.size(), outChannel);inChannel.close();}outChannel.close();}private class NameComparator implements Comparator<File>{@Overridepublic int compare(File f1, File f2) {return f1.getName().compareTo(f2.getName());}}}
搞定啦,呼呼
- [java]拆分、合并文件
- java 文件合并功能
- Java 文件合并
- Java 文件合并操作
- java 分割合并文件
- java 文件拆分 合并
- Java 文件内容合并
- java合并文件
- java合并文件
- java 合并文件
- Java文件合并
- 转载:java合并文件
- java切割合并文件
- java 合并文件-分割文件
- Java合并文件下多个文件
- Java分割合并大文件
- 文件分割合并类(java)
- java 文件拆分与合并
- android 线程优先级
- 苹果Xcode 证书生成、设置、应用完整图文教程
- OpenGL ES系列之0 – 建立Xcode项目
- 求两个链表的第一个节点
- Matlab常用命令(二)
- Java 文件合并
- LeetCode - Best Time to Buy and Sell Stock
- 关于qt移植arm的环境变量的一些小理解
- static作用:静态变量的生存周期和作用域
- 关于XML字符串和XML Document之间的转换《转》
- Python核心编程2-11习题——求和以及求平均数
- Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件
- Android4.2中简单实现checkbox全选、全不选、反选
- 用乌龟(TortoiseSvn) 创建分支(Branch)和标签(Tag)