Java文件合并,,package com.
分享于 点击 44995 次 点评:167
Java文件合并,,package com.
package com.lnsd;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.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;public class FileCombine { public void combineFiles(List<File> files,String saveFileName) throws IOException{ File mFile=new File(saveFileName); if(!mFile.exists()){ mFile.createNewFile(); } FileChannel mFileChannel = new FileOutputStream(mFile).getChannel(); FileChannel inFileChannel; for(File file:files){ inFileChannel=new FileInputStream(file).getChannel(); inFileChannel.transferTo(0, inFileChannel.size(), mFileChannel); inFileChannel.close(); } mFileChannel.close(); } public static void main(String[] args) { FileCombine fc=new FileCombine(); File file=new File("C:\\\\Users\\\\feng\\\\Desktop\\\\qiao\\\\assets"); List<File> files=new ArrayList<File>(); for(int i=1;i<9;i++){ files.clear(); for(File tmpFile:file.listFiles()){ if(tmpFile.getName().startsWith(i+"")){ files.add(tmpFile); } } try { Collections.sort(files, new Comparator<File>() { @Override public int compare(File o1, File o2) { // TODO Auto-generated method stub int result=0; String name1=o1.getName().replace(".dat", "").replace(".", ""); String name2=o2.getName().replace(".dat", "").replace(".", ""); double d=Double.parseDouble(name1)*100-Double.parseDouble(name2)*100; System.out.println(d); if(d>0){ result=1; }else if(d<0) { result=-1; }else{ result=0; } return result; } }); System.out.println(Arrays.toString(files.toArray())); fc.combineFiles(files, "C:\\\\Users\\\\feng\\\\Desktop\\\\qiao\\\\"+i+".txt"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}//该片段来自于http://byrx.net
用户点评