/filesearch/SearchLocalFile/src/com/searchlocal/thread/SearchFilePathTask.java

http://filesearch.googlecode.com/ · Java · 115 lines · 74 code · 15 blank · 26 comment · 22 complexity · 14f0edc3b3dbb0f4cd2832fe252d3163 MD5 · raw file

  1. package com.searchlocal.thread;
  2. import java.io.File;
  3. import java.util.List;
  4. import com.searchlocal.constants.Constant;
  5. import com.searchlocal.param.CreateNewParam;
  6. import com.searchlocal.thread.base.CRunnable;
  7. import com.searchlocal.thread.util.ThreadUtil;
  8. import com.searchlocal.util.StringUtils;
  9. /**
  10. * ????????
  11. *
  12. * <p>Title: ??????</p>
  13. * <p>Description: </p>
  14. * <p>site: www.slfile.net</p>
  15. * @author changsong:qianjinfu@gmail.com
  16. * @version 1.0
  17. */
  18. public class SearchFilePathTask extends CRunnable {
  19. /** ???? */
  20. private File file;
  21. /** ???????? */
  22. private CreateNewParam param;
  23. /** ???? */
  24. private FileContainer filecon;
  25. /**
  26. * ???
  27. *
  28. * @param file ????
  29. * @param param ????????
  30. * @param filecon ????
  31. */
  32. public void init(File file, CreateNewParam param, FileContainer filecon) {
  33. this.file = file;
  34. this.param = param;
  35. this.filecon = filecon;
  36. }
  37. public File getFile() {
  38. return this.file;
  39. }
  40. public void setTimeOut() {
  41. }
  42. public void run() {
  43. getFile(file);
  44. }
  45. public void getFile(File file) {
  46. if (file.isDirectory()) {
  47. File[] files = file.listFiles();
  48. if (files != null) {
  49. for (int i = 0; i < files.length; i++) {
  50. getFile(files[i]);
  51. }
  52. }
  53. } else {
  54. ThreadUtil.sleep(20);
  55. List<String> typeList = param.getSelectfiletype();
  56. String filename = file.getName();
  57. String suffixname = StringUtils.suffixName(filename);
  58. if (typeList.contains("word")
  59. && (suffixname.equals(Constant.FileClassify.DOC) || suffixname
  60. .equals(Constant.FileClassify.DOC2007))) {
  61. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  62. }
  63. if (typeList.contains("excel")
  64. && (suffixname.equals(Constant.FileClassify.XLS) || suffixname
  65. .endsWith(Constant.FileClassify.XLS2007))) {
  66. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  67. }
  68. if (typeList.contains("pdf") && suffixname.equals(Constant.FileClassify.PDF)) {
  69. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  70. }
  71. if (typeList.contains("ppt")
  72. && (suffixname.equals(Constant.FileClassify.PPT) || suffixname
  73. .equals(Constant.FileClassify.PPT2007))) {
  74. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  75. }
  76. if (typeList.contains("chm") && suffixname.equals(Constant.FileClassify.CHM)) {
  77. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  78. }
  79. if (typeList.contains("html") && (Constant.FileClassify.isHtmlcontain(suffixname))) {
  80. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  81. }
  82. if (typeList.contains("txt") && (Constant.SrcClassify.iscontain(suffixname))) {
  83. filecon.putfile(file.getAbsolutePath(), file.lastModified());
  84. }
  85. }
  86. }
  87. /**
  88. * @return Returns the param.
  89. */
  90. public CreateNewParam getParam() {
  91. return param;
  92. }
  93. /**
  94. * @param param
  95. * The param to set.
  96. */
  97. public void setParam(CreateNewParam param) {
  98. this.param = param;
  99. }
  100. }