You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.0 KiB
76 lines
2.0 KiB
package com.ruoyi.common.utils.file; |
|
|
|
import java.io.File; |
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
/** |
|
* 文件类型工具类 |
|
* |
|
* @author ruoyi |
|
*/ |
|
public class FileTypeUtils |
|
{ |
|
/** |
|
* 获取文件类型 |
|
* <p> |
|
* 例如: ruoyi.txt, 返回: txt |
|
* |
|
* @param file 文件名 |
|
* @return 后缀(不含".") |
|
*/ |
|
public static String getFileType(File file) |
|
{ |
|
if (null == file) |
|
{ |
|
return StringUtils.EMPTY; |
|
} |
|
return getFileType(file.getName()); |
|
} |
|
|
|
/** |
|
* 获取文件类型 |
|
* <p> |
|
* 例如: ruoyi.txt, 返回: txt |
|
* |
|
* @param fileName 文件名 |
|
* @return 后缀(不含".") |
|
*/ |
|
public static String getFileType(String fileName) |
|
{ |
|
int separatorIndex = fileName.lastIndexOf("."); |
|
if (separatorIndex < 0) |
|
{ |
|
return ""; |
|
} |
|
return fileName.substring(separatorIndex + 1).toLowerCase(); |
|
} |
|
|
|
/** |
|
* 获取文件类型 |
|
* |
|
* @param photoByte 文件字节码 |
|
* @return 后缀(不含".") |
|
*/ |
|
public static String getFileExtendName(byte[] photoByte) |
|
{ |
|
String strFileExtendName = "JPG"; |
|
if ((photoByte[0] == 71) && (photoByte[1] == 73) && (photoByte[2] == 70) && (photoByte[3] == 56) |
|
&& ((photoByte[4] == 55) || (photoByte[4] == 57)) && (photoByte[5] == 97)) |
|
{ |
|
strFileExtendName = "GIF"; |
|
} |
|
else if ((photoByte[6] == 74) && (photoByte[7] == 70) && (photoByte[8] == 73) && (photoByte[9] == 70)) |
|
{ |
|
strFileExtendName = "JPG"; |
|
} |
|
else if ((photoByte[0] == 66) && (photoByte[1] == 77)) |
|
{ |
|
strFileExtendName = "BMP"; |
|
} |
|
else if ((photoByte[1] == 80) && (photoByte[2] == 78) && (photoByte[3] == 71)) |
|
{ |
|
strFileExtendName = "PNG"; |
|
} |
|
return strFileExtendName; |
|
} |
|
} |