就是现在有一个byte数组,里边放的是文件的二进制流 怎么能得到这个文件的文件名和文件扩展名?哪位高手给指点下呗!
解决方案 »
- spring事务不回滚
- 按照教程搭建了一个CXF的WebService服务,但是发布不成功。
- java FTP 上传问题。 求解。
- 求书!《精通jsp编程》电子版的 给加分啊
- 留下还是走?
- File f = new File("."); f.load("xx.properties"); web 应用下为何在要目录下去读取,而不是在类路径下或是类顶层目录下?
- 请教:JDK1.4自带的rmic编译器问题,请大虾指点谜经
- 发布错误,高手请进...
- 谁能帮我看看这段程序哪里错了?
- 我的j2ee怎么运行不起呢?!!(大家帮忙看一下,谢谢)
- 请教大侠如何实现2个manytoone方法,应该怎么写?
- 救急,看下问题,Unable to compile class for JSP
那里有文件名和扩展名的信息。
无解。
这个
你得先了解各种文件格式是啥才能推
我只知道pdf的是以pdfxxx开头的
如果你的文件内容是遵守某种协议的,比如像xml文件,规定文件的编码什么的,如果你的文件内容也规定了文件名和扩展名,那么可以解析你的二进制流去获取,否则,很难。就哪怕向LS说的,某些需要特殊的阅读器的特殊文件,文件开始的头一部分字节可能有对文件类型的一些描述,但文件的扩展名也是可以随便被人修改的,比如 a.pdf可以被修改为a.pdf.txt,此时,扩展名如果按文件的类型来判断,那就是pdf类型,如果按文件系统来判断,那扩展名就是txt
当然,也可以通过某种特别笨的方法,就是把byte数组信息输出到某个文件,然后通过调用文件内容比较,一个个判断系统原来的文件,找到内容一致的文件,就可知道文件名和扩展名了。
比如gif格式文件开头就可能是GIF89a,可执行文件开头就是MZ..等等。