tika判断是否是纯文本文件
判断是否是纯文本文件
import com.google.common.collect.Lists;
import com.jdl.jscaffold.exception.BusinessException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.filefilter.IOFileFilter;
import org.apache.commons.io.filefilter.TrueFileFilter;
import org.apache.tika.Tika;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import java.util.List;
@Slf4j
public class FileUtils {
public static boolean isTextFile(File file){
Tika tika = new Tika();
List<String> contentTypes = Lists.newArrayList(
"application/json",
"application/xml",
"application/xhtml+xml",
"application/sql",
"application/ld+json",
"application/x-yaml"
);
try {
String mimeType = tika.detect(file);
// 判断是否为纯文本类型
if (mimeType.startsWith("text/")){
return true;
}
if (contentTypes.contains(mimeType)) {
return true;
}
return false;
} catch (IOException e) {
log.error("judge file text error",e);
throw new BusinessException("判断文件" + file.getName() + "是否纯文本出现error",e);
}
}
}
原创:做时间的朋友
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示