使用java IO实现指定后缀的文件合并为一个文件
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 IO实现指定后缀的文件合并为一个文件

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭