java判断文件类型
时间: 2023-08-06 21:05:51 浏览: 49
要判断文件类型,可以通过获取文件后缀名或者文件头来进行判断。
1. 获取文件后缀名
示例代码如下:
```java
File file = new File("path/to/file");
String fileName = file.getName();
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
if ("txt".equals(suffix)) {
// 文件类型为txt
} else if ("jpg".equals(suffix) || "jpeg".equals(suffix) || "png".equals(suffix)) {
// 文件类型为图片
} else {
// 其他文件类型
}
```
2. 获取文件头
示例代码如下:
```java
FileInputStream inputStream = new FileInputStream("path/to/file");
byte[] bytes = new byte[10];
inputStream.read(bytes, 0, bytes.length);
String fileType = getFileType(bytes);
if ("jpg".equals(fileType) || "png".equals(fileType)) {
// 文件类型为图片
} else {
// 其他文件类型
}
private static String getFileType(byte[] bytes) {
String type = "";
String fileHex = String.valueOf(bytes[0] & 0xFF) + String.valueOf(bytes[1] & 0xFF); // 获取文件的前两个字节的16进制数
switch (fileHex) {
case "8950":
type = "png";
break;
case "FFD8":
type = "jpg";
break;
default:
type = "unknown";
break;
}
return type;
}
```
需要注意的是,获取文件头的方式并不是百分之百准确,因为有些文件的头部可能会被修改,导致判断不准确。