findfile.java

来源:互联网 发布:2016年网络星期一 编辑:程序博客网 时间:2024/05/16 08:37
  1. /**************************************
  2.  * Title:        查找指定目录文件
  3.  * Description:  FileFilter类
  4.  * date :        2006-3-25
  5.  * author :      zhanglei
  6.  ***************************************/
  7. package server;
  8. import java.io.*;
  9. public class findfile {
  10.     private String pathname;
  11.     private DomXML DomXML = MainServer.DomXML;
  12.     public findfile(String pathname) {
  13.         this.pathname = pathname;
  14.     }
  15.     private static FileFilter fileFilter = new FileFilter() {
  16.         public boolean accept(File pathname) {
  17.             String tmp = pathname.getName().toLowerCase();
  18.             //if(tmp.endsWith(".xml")){
  19.             if (tmp.indexOf(".") != -1) {
  20.                 //System.out.println(tmp);
  21.                 return true;
  22.             }
  23.             //}
  24.             return false;
  25.         }
  26.     };
  27.     //获得文件列表
  28.     public File[] GetFile() {
  29.         try {
  30.             File root = new File(pathname);
  31.             File[] files = root.listFiles(fileFilter);
  32.             return files;
  33.         }
  34.         catch (Exception e) {
  35.             System.out.println("GetFile" + pathname + "文件夹不存在!" + e);
  36.             return null;
  37.         }
  38.         /*      for(int i=0; i<files.length; i++)
  39.                             {
  40.                                       System.out.println(i + "name " + files[i]);
  41.                             }*/
  42.     }
  43.     /**
  44.      *BackFile  备份XML文件
  45.      *@param1    doFile  被移动文件
  46.      *@param2    return  备份后文件
  47.      */
  48.     public File BackFile(File yFile) {
  49.         File bakFile = null//备份文件
  50.         File bakDir = null//备份文件路径
  51.         File doDir = null//备份文件路径
  52.         File doFile = null//移动后的处理文件
  53.         String bakPath = "";
  54.         String recvPath = "";
  55.         try {
  56.             //创建备份路径
  57.             DomXML.GetBeginItem("PathConfig");
  58.             if (DomXML.GetItemAttribute("bak_dir""run").toLowerCase().trim().equals("y")) {
  59.                 bakPath = DomXML.GetItemAttribute("bak_dir""path");
  60.                 bakDir = new File(bakPath + "/" + MyFunction.DataTimeStr("yyyyMMdd"));
  61.                 if (!bakDir.exists()) {
  62.                     bakDir.mkdirs();
  63.                 }
  64.                 //备份XML文件
  65.                 bakFile = new File(bakDir.getPath() + "/" + yFile.getName());
  66.                 if (bakFile.exists()) {
  67.                     bakFile.delete();
  68.                 }
  69.                 MyFunction.CopyFile(yFile.toString(), bakFile.toString());
  70.             }
  71.             //移动目标文件
  72.             recvPath = DomXML.GetItemAttribute("recv_up""path").trim();
  73.             doDir = new File(recvPath);
  74.             if (!doDir.exists()) {
  75.                 doDir.mkdirs();
  76.             }
  77.             doFile = new File(recvPath + "/" + yFile.getName());
  78.             if (doFile.exists()) {
  79.                 doFile.delete();
  80.             }
  81.             yFile.renameTo(doFile);
  82.             return doFile;
  83.         }
  84.         catch (Exception e) {
  85.             System.out.println(e + "文件备份失败!");
  86.             return null;
  87.         }
  88.     }
  89.     /**
  90.      *MoveErrorFile  移动异常XML文件
  91.      *@param1    doFile  被移动文件
  92.      *@param2    return  0正确,-1错误
  93.      */
  94.     public int MoveErrorFile(File doFile) {
  95.         File errorFile = null;
  96.         File errorDir = null//异常文件路径
  97.         try {
  98.             DomXML.GetBeginItem("PathConfig");
  99.             if (DomXML.GetItemAttribute("error_dir""run").trim().toUpperCase().equals("Y")) {
  100.                 errorDir = new File(DomXML.GetItemAttribute("error_dir""path").trim() + "/" + MyFunction.DataTimeStr("yyyyMMdd"));
  101.                 if (!errorDir.exists()) {
  102.                     errorDir.mkdirs();
  103.                 }
  104.                 errorFile = new File(errorDir.getPath() + "/" + doFile.getName());
  105.                 if (errorFile.exists()) {
  106.                     errorFile.delete();
  107.                 }
  108.                 doFile.renameTo(errorFile);
  109.             }
  110.             else {
  111.                 doFile.delete();
  112.             }
  113.             return 0;
  114.         }
  115.         catch (Exception e) {
  116.             System.out.println(e + "移动异常文件失败!");
  117.             return -1;
  118.         }
  119.     }
  120.     public static void main(String[] args) {
  121.         File bakFile = new File("D:/JB_Work/XmlServer/ErrorXmlFile/test36.xml");
  122.         findfile FindFile = new findfile("D:/JB_Work/XmlServer/recv_dir");
  123.         FindFile.MoveErrorFile(bakFile);
  124.     }
  125. }
 
原创粉丝点击