除非要用代码分析文件格式,否则不太可能。
但是假设你只是处理少数几个特定类型的文件,比如doc, xls等的,可以用一些专用的java工具比如POI的读取一下,看抛出异常不,没有的就可以断定为该类型了。
文件扩展名只是一种标记,作为文件关联程序的判断;该信息只存在于文件名也只能从文件名里判断,无法从其他地方得知。当然,这种说法并不严格,不同类型的文件具有不同的数据组织方式,一些常见类型文件数据组织还是有规律可循的,可以尝试由此判定文件的真正类型。不过这种做这种判定需要一定的功底,不是很容易。
a.doc文件重命名为a.txt之后,它就变成一个txt文件,这个过程并不备份之前扩展名
所以没法判定之前的扩展名是什么
java只能判定当前的文件扩展名
得到文件类型(contentType),文件名只是一个标识
读文件头,不同的文件头格式不一样