jdk 判断文件类型的方法
时间: 2023-08-03 16:04:56 浏览: 120
在 Java 中,可以使用以下方法来判断文件类型:
1. 通过文件名后缀判断
Java 中的 File 类提供了获取文件名后缀的方法,可以根据文件名后缀来判断文件类型。例如:
```java
public static String getSuffix(String fileName) {
int dotIndex = fileName.lastIndexOf(".");
if (dotIndex < 0) {
return "";
}
return fileName.substring(dotIndex + 1).toLowerCase();
}
public static boolean isImageFile(String fileName) {
String suffix = getSuffix(fileName);
return suffix.equals("jpg") || suffix.equals("jpeg") || suffix.equals("png");
}
```
2. 通过魔数判断
魔数是文件开头的固定字节序列,不同类型的文件有不同的魔数。可以读取文件开头的字节,根据魔数来判断文件类型。例如:
```java
public static boolean isImageFile(File file) throws IOException {
try (InputStream is = new FileInputStream(file)) {
byte[] header = new byte[4];
if (is.read(header) != header.length) {
return false;
}
return header[0] == (byte) 0xff && header[1] == (byte) 0xd8 && header[2] == (byte) 0xff
&& (header[3] & 0xf0) == 0xe0; // JPEG
}
}
```
以上是判断图片文件的示例代码,不同类型的文件魔数不同,需要根据具体文件类型来判断。