java合并多个文件的实例代码
作者:angryTom 发布时间:2023-07-28 12:56:02
标签:java,合并多个文件
在实际项目中,在处理较大的文件时,常常将文件拆分为多个子文件进行处理,最后再合并这些子文件。下面就为各位介绍下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");
}
来源:https://www.php.cn/java-article-441948.html
0
投稿
猜你喜欢
- Spring或SpringBoot开启事务以后无法返回自增主键场景:保存订单和订单详情,订单详情需要订单id,数据库中的订单表是自增主键,开
- 在Word插入分页符可以在指定段落后插入,也可以在特定文本位置处插入。本文,将以Java代码来操作以上两种文档分页需求。下面是详细方法及步骤
- 在用HTML5做跨平台应用开发时,尝尝会用到java和js方法互调的问题,对初学者而言,可能会有点难,在这里分享一些自己在实际开发过程中的用
- 前提前段时间在做一个对外的网关项目,涉及到加密和解密模块,这里详细分析解决方案和适用的场景。为了模拟真实的交互场景,先定制一下整个交互流程。
- 本文实例讲述了java读取properties文件的方法。分享给大家供大家参考。具体实现方法如下:package com.test.demo
- 传播行为定义关于客户端和被调用方法的事务边界。Spring定义了7种截然不同的传播行为。1,PROPAGATION_MANDATORY,表示
- 前言反射和注解在java中偏高级用法,一般在各种框架中被广泛应用,文章简单介绍下反射和注解的用法,希望对你的工作学习有一定帮助java注解什
- package cn.response;import java.awt.Color;import java.awt.Font;import
- 本文主要介绍了java中LinkedList使用迭代器优化移除批量元素原理,分享给大家,具体如下:public interface Iter
- Java未被捕获的异常在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的。下面的小程序包括一个故意导致被零除错
- 本文研究的主要是Java回调函数与观察者模式的实现,具体介绍和实现代码如下。观察者模式(有时又被称为发布(publish )-订阅(Subs
- 一.内容抽象类当编写一个类时,常常会为该类定义一些方法,这些方法用于描述这个类的行为。但在某些情况下只需要定义出一些方法,而不需要具体的去实
- 目录前言:对文章出现的一些名词进行解释一、插入排序1.基本思想2.直接插入排序3.希尔排序(缩小增量排序)二、选择排序1.基本思想2.直接选
- Java提供的数据类型主要分为两大类:基本数据类型和引用数据类型。Java中的基本数据类型名称大小取值范围byte型 (字节)8bit-12
- 一 技术发展技术的创新和发展都是为了解决一类问题二 框架设计Spring Framework 6大模块三 Spring AOP详解循环依赖问
- 当数据库中数据条数过多时,一个页面就不能显示,这是要设置分页查询,首先要使用的是数据库sql语句的limit条件实现分组查询sql语句大概形
- 前言:小编引入的图片和文字描述都是来自于尚硅谷的视频讲解,在此感谢尚硅谷的老师,同时也结合 seata文档官方文档进行整合项目地址(gite
- 目录“头疼”“吃药”工具代码使用代码“头疼”自己在用Angular做项目时,前端要请求后端数据时的代码如下this.http.get(&qu
- 我们来简单实现一个cookie。一、简单介绍Cookie 是一些数据, 存储于你电脑上的文本文件中。当 web 服务器向浏览器发送 web
- 前言传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml