/src/main/java/com/eastrobot/doc/util/FileExtensionUtils.java

https://github.com/ekoz/kbase-doc · Java · 162 lines · 88 code · 6 blank · 68 comment · 15 complexity · a8a61c7d371c846e6a888ba59fec8816 MD5 · raw file

  1. /*
  2. * Power by www.xiaoi.com
  3. */
  4. package com.eastrobot.doc.util;
  5. import org.apache.commons.io.FilenameUtils;
  6. import org.apache.commons.lang3.ArrayUtils;
  7. /**
  8. *
  9. * @author <a href="mailto:eko.z@outlook.com">eko.zhan</a>
  10. * @date 2017年12月21日 下午3:10:34
  11. * @version 1.0
  12. */
  13. public class FileExtensionUtils {
  14. private static String[] videoArray = new String[]{"mp4", "avi", "wma", "rmvb", "rm", "flash", "mid", "3gp"};
  15. private static String[] imageArray = new String[]{"jpg", "jpeg", "png", "gif", "ico", "bmp"};
  16. private static String[] audioArray = new String[]{"mp3", "wav", "ogg"};
  17. private static String[] officeArray = new String[]{"doc", "docx", "xls", "xlsx", "ppt", "pptx"};
  18. /**
  19. * 是否是视频文件
  20. * @author eko.zhan at 2017年12月21日 下午3:38:28
  21. * @return
  22. */
  23. public static Boolean isVideo(String filename){
  24. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  25. if (ArrayUtils.contains(videoArray, extension)){
  26. return true;
  27. }
  28. return false;
  29. }
  30. /**
  31. * 是否是图片
  32. * @author eko.zhan at 2017年12月21日 下午3:47:18
  33. * @param filename
  34. * @return
  35. */
  36. public static Boolean isImage(String filename){
  37. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  38. if (ArrayUtils.contains(imageArray, extension)){
  39. return true;
  40. }
  41. return false;
  42. }
  43. /**
  44. * 是否是Office文件
  45. * @author eko.zhan at Jan 3, 2018 5:30:52 PM
  46. * @param filename
  47. * @return
  48. */
  49. public static Boolean isOffice(String filename){
  50. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  51. if (ArrayUtils.contains(officeArray, extension)){
  52. return true;
  53. }
  54. return false;
  55. }
  56. /**
  57. * 是否是音频文件
  58. * @author eko.zhan at Jan 5, 2018 3:41:36 PM
  59. * @param filename
  60. * @return
  61. */
  62. public static Boolean isAudio(String filename) {
  63. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  64. if (ArrayUtils.contains(audioArray, extension)){
  65. return true;
  66. }
  67. return false;
  68. }
  69. /**
  70. * 是否是Excel文件
  71. * @author eko.zhan at Aug 7, 2018 11:33:06 AM
  72. * @param filename
  73. * @return
  74. */
  75. public static Boolean isExcel(String filename){
  76. String[] arr = new String[]{"xls", "xlsx"};
  77. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  78. if (ArrayUtils.contains(arr, extension)){
  79. return true;
  80. }
  81. return false;
  82. }
  83. /**
  84. * 是否是Word文件
  85. * @author eko.zhan at Aug 7, 2018 11:33:06 AM
  86. * @param filename
  87. * @return
  88. */
  89. public static Boolean isWord(String filename){
  90. String[] arr = new String[]{"doc", "docx"};
  91. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  92. if (ArrayUtils.contains(arr, extension)){
  93. return true;
  94. }
  95. return false;
  96. }
  97. /**
  98. * 是否是 ppt 文件
  99. * @author eko.zhan at 2018年9月1日 上午10:16:11
  100. * @param filename
  101. * @return
  102. */
  103. public static Boolean isPpt(String filename) {
  104. String[] arr = new String[]{"ppt", "pptx"};
  105. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  106. if (ArrayUtils.contains(arr, extension)){
  107. return true;
  108. }
  109. return false;
  110. }
  111. /**
  112. * 是否是 Word 或 Excel 文件
  113. * @author eko.zhan at Aug 7, 2018 11:37:50 AM
  114. * @param filename
  115. * @return
  116. */
  117. public static Boolean isWordOrExcel(String filename){
  118. return isWord(filename) || isExcel(filename);
  119. }
  120. /**
  121. * 是否是 office 或 pdf 文件
  122. * @author eko.zhan at Aug 7, 2018 11:45:10 AM
  123. * @param filename
  124. * @return
  125. */
  126. public static Boolean isOfficeOrPdf(String filename){
  127. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  128. if (isOffice(filename) || "pdf".equals(extension)){
  129. return Boolean.TRUE;
  130. }else{
  131. return Boolean.FALSE;
  132. }
  133. }
  134. /**
  135. * 是否是 html 文件
  136. */
  137. public static Boolean isHtml(String filename) {
  138. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  139. if ("html".equals(extension) || "htm".equals(extension)) {
  140. return Boolean.TRUE;
  141. } else {
  142. return Boolean.FALSE;
  143. }
  144. }
  145. /**
  146. * 是否是 pdf 文件
  147. */
  148. public static Boolean isPdf(String filename) {
  149. String extension = FilenameUtils.getExtension(filename).toLowerCase();
  150. if ("pdf".equals(extension)) {
  151. return Boolean.TRUE;
  152. } else {
  153. return Boolean.FALSE;
  154. }
  155. }
  156. }