java文件夹操作,将多文件夹下的相同文件合成到同一文件

来源:互联网 发布:查航班软件 编辑:程序博客网 时间:2024/05/21 14:15

取出不同文件夹下相同文件,这里提取文件的地址,方便对文件进行排序


 
 List<String> Filelist = new ArrayList<String>();

 private void getFile(File Dir)
 {·
  File[] files = Dir.listFiles();
  for(File file:files){
   if(!file.isDirectory() && (file.getName().toLowerCase().endsWith(".iso"))){
     Filelist.add(file.getAbsolutePath());
   }
  }
  for(File file:files){
   if(file.isDirectory()){
    getFile(file);
   }
  }
  

读取文件列表合成到目标文件

public void docofFile(File isofile,File targetFile)throws IOException{
  byte[] a=new byte[(int)isofile.length()];
  marcFileStream = new FileInputStream(isofile);
  marcFileStream.read(a);

  FileOutputStream out=new FileOutputStream(targetFile,true);
  out.write(a);
  String s = new String(System.getProperty("line.separator"));
  byte[] b =s.getBytes();

  out.write(b);
   
 } 

 

File Dir = new File(sourcePath);
  File targetFile=new File(targetPath);
  List<File> isoFils = p.getFiles(Dir);

if (null != isoFils) {
   for (int i = 0; i < isoFils.size(); i++) {
    if (stopFlag) {
     break;
    }
    try {
       
         File isoFile=isoFils.get(i);
         p.docofFile(isoFile,targetFile);
      successNum++;
      processFlag = ProcessStatus.RESULT_TYPE_NORMAL;
      logger.logSucess("合成成功", "成功合成第" + (i + 1) + "条记录。");
         
       
    } catch (Exception e) {
     e.printStackTrace();
     errorNum++;
     logger.logError("合成出错", "合成时出错,详情:"
       + e.getMessage());
     processFlag = ProcessStatus.RESULT_TYPE_ERROR;

    }

原创粉丝点击