在实际项目中,在处理较大的文件时,常常将文件拆分为多个子文件进行处理,最后再合并这些子文件。下面就为各位介绍下Java中合并多个文件的方法。

Java中合并子文件最容易想到的就是利用BufferedStream进行读写。

具体的实现方式如下,代码很详细,供各位参考学习。

1、首先创建mergeFiles方法,接收字符串数组和字符串参数,并完成文件合并功能

public static boolean mergeFiles(String[] fpaths, String resultPath) {

if (fpaths == null || fpaths.length < 1 || TextUtils.isEmpty(resultPath)) {

return false;

}

if (fpaths.length == 1) {

return new File(fpaths[0]).renameTo(new File(resultPath));

}

File[] files = new File[fpaths.length];

for (int i = 0; i < fpaths.length; i ++) {

files[i] = new File(fpaths[i]);

if (TextUtils.isEmpty(fpaths[i]) || !files[i].exists() || !files[i].isFile()) {

return false;

}

}

File resultFile = new File(resultPath);

try {

int bufSize = 1024;

BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(resultFile));

byte[] buffer = new byte[bufSize];

for (int i = 0; i < fpaths.length; i ++) {

BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(files[i]));

int readcount;

while ((readcount = inputStream.read(buffer)) > 0) {

outputStream.write(buffer, 0, readcount);

}

inputStream.close();

}

outputStream.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

return false;

} catch (IOException e) {

e.printStackTrace();

return false;

}

for (int i = 0; i < fpaths.length; i ++) {

files[i].delete();

}

return true;

}

2、然后在main函数中对mergeFiles方法进行调用,使用时传入多个文件的地址数组,并传入输出文件地址即可。

public static void main(String[] args) {

mergeFiles(new String[]{"D:/in_1.txt", "D:/in_2.txt", "D:/in_3.txt"}, "D:/output.txt");

}

以上就是java如何合并多个文件的详细内容,感谢大家的学习和对脚本之家的支持。

java代码整合_java合并多个文件的实例代码相关推荐

  1. java 音色识别_Java实现Shazam声音识别算法的实例代码

    Shazam算法采用傅里叶变换将时域信号转换为频域信号,并获得音频指纹,最后匹配指纹契合度来识别音频. 1.AudioSystem获取音频 奈奎斯特-香农采样定理告诉我们,为了能捕获人类能听到的声音频 ...

  2. java nginx 例子_Java及nginx实现文件权限控制代码实例

    我们知道,使用nginx作为文件下载服务器,可以极大地降低对后端Java服务器的负载冲击,但是nginx本身并不提供授权控制,因此好的方案是由后端服务器实现权限控制,最好的方式是直接复用应用的认证体系 ...

  3. java 代码锁_Java 锁的知识总结及实例代码

    java中有哪些锁 这个问题在我看了一遍后尽然无法回答,说明自己对于锁的概念了解的不够.于是再次翻看了一下书里的内容,突然有点打开脑门的感觉.看来确实是要学习的最好方式是要带着问题去学,并且解决问题. ...

  4. java lock代码写法_java Lock接口详解及实例代码

    java  lock接口 java.util.concurrent.locks 接口lock public interface loce loce实现提供了比使用synchronized方法和语句可获 ...

  5. java http 下载网页代码_Java下http下载文件客户端和上传文件客户端实例代码

    Java下http下载文件客户端和上传文件客户端实例代码 发布于 2021-1-14| 复制链接 摘记: 一.下载客户端代码 ```java package javadownload; import ...

  6. python怎么发送代码文件_python 通过 socket 发送文件的实例代码

    目录结构: client: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket, struct, json download_dir = ...

  7. python读取txt文件代码-python批量处理txt文件的实例代码

    通过python对多个txt文件进行处理 读取路径,读取文件 获取文件名,路径名 对响应的文件夹名字进行排序 对txt文件内部的数据相应的某一列/某一行进行均值处理 写入到事先准备好的Excel文件中 ...

  8. python处理excel表格实例-使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...

  9. python按日期排序_python按修改时间顺序排列文件的实例代码

    python按修改时间顺序排列文件,具体代码如下所示: import os def sort_file_by_time(file_path): files = os.listdir(file_path ...

最新文章

  1. Linux 下 进程运行时内部函数耗时的统计 工具:pstack,strace,perf trace,systemtap
  2. Android 系统启动过程
  3. 7.2 伪逆和线性方程 $A\mathbf{x}=\mathbf{b}$
  4. 写给年轻程序员的一封信
  5. (进阶篇_01)Oracle数据同步3种场景
  6. LeetCode 665 非递减数列
  7. 深入源码之Commons Logging[转]
  8. 接收二进制数据_漫话TCP/IP:数据链路层-以太网(1)
  9. 如何看待绿色数据中心
  10. python3 input函数
  11. 事情隐瞒或者公开,对你没有任何意义
  12. 读取doc文件c语言程序,c语言程序中关于文件的操作.doc
  13. python贪心算法几个经典例子_贪心算法经典例子
  14. 使用COOC软件绘制复杂网络
  15. 如何将多个excel合并成一个
  16. 力扣347 前 K 个高频元素 -- JS
  17. 「需求广场」需求词更新明细(十二)
  18. execvp函数详解_如何在C / C ++中使用execvp()函数
  19. Ubuntu部署TeamTalk文档
  20. Java基于JSP的论坛交流系统

热门文章

  1. 企业如何寻找最合适的托管数据中心,以维持IT和业务的增长运营
  2. MFC中CString转换成char数组的问题
  3. 「初步」Spring与commons的BeanUtil.copyProperties
  4. 安装ARM交叉编译工具
  5. 立足优势,你的网站会更精彩
  6. 认识数据分析_认识您的最佳探索数据分析新朋友
  7. 5888. 网络空闲的时刻
  8. 解释什么是快速排序算法?_解释排序算法
  9. 超越Android:探索Kotlin的应用领域
  10. github 6月开源项目_我的开源项目如何在短短5天内在GitHub上赢得6,000颗星