怎么判断刚刚得到的附件的文件名和文件类型
时间: 2024-03-24 14:39:02 浏览: 12
在JavaMail中,您可以通过BodyPart类的getFileName()方法获取附件的文件名,通过getContentType()方法获取附件的MIME类型。以下是一个示例代码片段,演示如何获取附件的文件名和MIME类型:
```
for (Message message : messages) {
Multipart multipart = (Multipart) message.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition())) {
String fileName = bodyPart.getFileName();
String contentType = bodyPart.getContentType();
// 处理附件文件名和MIME类型
}
}
}
```
请注意,根据邮件客户端的不同,有些附件可能没有文件名或MIME类型。在这种情况下,getFileName()方法返回null,getContentType()方法返回"application/octet-stream"。
相关问题
根据文件名后缀判断文件类型是图片或者视频或者音频
可以使用Java的字符串方法来判断文件名后缀,从而判断文件类型。以下是一个示例代码:
```java
public class FileTypeChecker {
public static FileType getFileType(String fileName) {
String ext = fileName.substring(fileName.lastIndexOf(".") + 1);
if (ext.equalsIgnoreCase("jpg") || ext.equalsIgnoreCase("jpeg") || ext.equalsIgnoreCase("png") || ext.equalsIgnoreCase("gif")) {
return FileType.IMAGE;
} else if (ext.equalsIgnoreCase("mp4") || ext.equalsIgnoreCase("avi") || ext.equalsIgnoreCase("mkv") || ext.equalsIgnoreCase("mov")) {
return FileType.VIDEO;
} else if (ext.equalsIgnoreCase("mp3") || ext.equalsIgnoreCase("wav") || ext.equalsIgnoreCase("flac") || ext.equalsIgnoreCase("aac")) {
return FileType.AUDIO;
} else {
return FileType.OTHER;
}
}
public enum FileType {
IMAGE, VIDEO, AUDIO, OTHER
}
}
```
调用该方法时,传入需要判断的文件名即可。方法会返回一个FileType枚举类型,表示该文件的类型是图片、视频、音频或其他类型。
根据文件路径自行判断文件名,文件修改时间
如果要根据文件路径自行判断文件名和文件修改时间,可以修改脚本如下:
```bash
#!/bin/bash
# 输入需要插入的文件路径
read -p "请输入文件路径:" file_path
# 获取文件名和文件修改时间
file_name=$(basename "$file_path")
file_mtime=$(date -r "$file_path" +"%Y-%m-%d %H:%M:%S")
# 获取当前系统时间
now=$(date +"%Y-%m-%d %H:%M:%S")
# 定义 SQL 语句
sql="INSERT INTO files (file_path, file_name, file_mtime, create_time) VALUES ('$file_path', '$file_name', '$file_mtime', '$now');"
# 连接 MySQL 数据库,并执行 SQL 语句
mysql -u username -p password -h hostname -P port -D database -e "$sql"
```
在上述脚本中,我们使用 `basename` 命令获取文件名,使用 `date -r` 命令获取文件修改时间。这样,我们就可以根据文件路径自行判断文件名和文件修改时间,并插入到 MySQL 数据库中。