使用java IO实现指定后缀的文件合并为一个文件

原创 2013年12月04日 16:57:44
public class Combine {

private static final String FILE_SUFFIX = ".txt";//要合并的文件的后缀
private static final String COMBINE_FILE_PATH = "/file"; //要合并的文件所在的src路径
private static final String COMBINE_FILE_NAME = "combine" + FILE_SUFFIX;//合并后的文件的名称

public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
try {
/*
* 取出所有要合并的文件
*/
String _file_dir_path = Combine.class.getResource(COMBINE_FILE_PATH).getPath();
File _dist_file = new File(_file_dir_path + File.separator + COMBINE_FILE_NAME); //目标文件
File _file_dir = new File(_file_dir_path);
File[] _fArr  = _file_dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
if(name.endsWith(FILE_SUFFIX)){
return true;
}
return false;
}
});


if(!_dist_file.exists()){
_dist_file.createNewFile();
}


ByteArrayOutputStream baos = new ByteArrayOutputStream();
if(_fArr != null && _fArr.length > 0 ){
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(_dist_file),"utf-8"));
for (File f : _fArr) {
br = new BufferedReader(new InputStreamReader(new FileInputStream(f),"utf-8"));
String _line;
while((_line = br.readLine())!=null){
baos.write(_line.getBytes());
baos.write("\r\n".getBytes());
}
bw.write(baos.toString());
bw.flush();
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(br != null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

if(bw != null){
try {
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}

相关文章推荐

java IO流(java分割、合并任意类型文件)

/*  * 以下代码演示了java分割和合并文件的功能。  */ import java.io.*; import java.util.ArrayList; import java.util.Enum...

Java-使用IO流对大文件进行分割和分割后的合并

有的时候我们想要操作的文件很大,比如:我们想要上传一个大文件,但是收到上传文件大小的限制,无法上传,这是我们可以将一个大的文件分割成若干个小文件进行操作,然后再把小文件还原成源文件。分割后的每个小文件...

IO_字节流_节点流_文件夹拷贝_工具制作_文件后缀与软件的关系JAVA149、163

一、S02E149_01IO_字节流、节点流、文件夹拷贝、工具制作、文件后缀与软件的关系 1.文件夹拷贝 a.递归查找子孙级文件或文件夹 b.文件则直接复制(IO流复制);文件夹则创建 c.举...

从零开始学java之IO流 使用字节流将多个相同格式的文本、视频、音乐写到一个文件中

如果我们有多个相同格式的文件,比如1.mp3,2.mp3,3.mp3,4.mp3,5.mp3,我们想要通过IO流将他们连起来形成一个12345.mp3,这个12345.mp3 会连续播放1.mp3,2...

java基础IO流使用读取一个文件中的文字输出到控制台上

读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import jav...

Java中使用IO流实现大文件的分裂与合并

达人科技 2016-12-21 00:46 文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑, 但是你的存储设备(比如SD卡)只有1G ,...

JAVA中使用IO流实现大文件的分拆与合并

JAVA中使用IO流实现大文件的分拆与合并记录一下大文件的拆分和合并,代码如下...
  • qq_kbyd
  • qq_kbyd
  • 2016年12月22日 21:21
  • 143

Java中使用IO流实现大文件的分裂与合并

文件分割应该算一个比较实用的功能,举例子说明吧比如说:你有一个3G的文件要从一台电脑Copy到另一台电脑,但是你的存储设备(比如SD卡)只有1G,这个时候就可以把这个文件切割成3个1G的文件,分开复制...

给JAVA打开文件对话框指定后缀

  • 2011年08月23日 17:08
  • 1KB
  • 下载

将前缀和后缀相同的文件移动到同一个目录的算法设计及C代码实现

将前缀和后缀相同的文件移动到同一个目录的算法设计及C代码实现。
  • zhouzxi
  • zhouzxi
  • 2016年05月14日 13:55
  • 3611
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用java IO实现指定后缀的文件合并为一个文件
举报原因:
原因补充:

(最多只允许输入30个字)