此方法应检查文件是否为MIME类型。为实现这一目标,我使用方法probeContentType() 然而,也许是另一种决定相同问题的方法。哪些是其他选择(如果有的话)?
代码:
class ProbeContentTypeCheker implements Checker {
@Override
public boolean check(File fileCheck) {
try {
Path filePath = FileSystems.getDefault().getPath(
fileCheck.getAbsolutePath());
if ((Files.probeContentType(filePath) != null)) {
return true;
}
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
}
问题:
答案 0 :(得分:4)
获取文件mime类型有两种方法:
以下解决方案使用第一种方法:
以下解决方案使用第二种方法:
有关更多信息,请参阅此post
答案 1 :(得分:1)
您可以使用String mimeType = new MimetypesFileTypeMap().getContentType(theFile);
。
请注意,如果未找到MIME类型,则会返回application/octet-stream
而不是null
。
答案 2 :(得分:0)
如果您不能使用Java 7,另一种方法是使用URLConnection.guessContentTypeFromName(String fileName)
。
请注意,如果无法猜出内容类型,则该方法将返回null
。