java如何准确的判断文件是文本文件还是二进制文件?
只能说尽量准确吧.. 获取文件的 mime 类型,比如 "text/html", "text/x-shellscript","application/x-rpm; charset=binary",以 text 开头的都是文本文件,其它的你都可以认为是二进制信息. 在 linux 下识别 mime ,依赖系统的 filetype包, 也就是 file 命令,执行 file -i xxx可以输出文件的 mime类型. 如果系统的 filetype 太老,可能出现一些新的格式无法识别 .java 中应该有不少 mime 相关的包,记得选活跃的包,不然会有一些新的文件类型无法识别.
file -i xxx
另外 系统的 file 命令是通过读取文件的首部字节来判断文件类型, 所有读取文件后缀来判断 mime 的都可以 pass 掉...
普通文本文件连特殊的头都没有,无从判断…
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(2)
只能说尽量准确吧.. 获取文件的 mime 类型,比如 "text/html", "text/x-shellscript","application/x-rpm; charset=binary",以 text 开头的都是文本文件,其它的你都可以认为是二进制信息. 在 linux 下识别 mime ,依赖系统的 filetype包, 也就是 file 命令,执行
file -i xxx
可以输出文件的 mime类型. 如果系统的 filetype 太老,可能出现一些新的格式无法识别 .java 中应该有不少 mime 相关的包,记得选活跃的包,不然会有一些新的文件类型无法识别.另外 系统的 file 命令是通过读取文件的首部字节来判断文件类型, 所有读取文件后缀来判断 mime 的都可以 pass 掉...
普通文本文件连特殊的头都没有,无从判断…