- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Java 中的探测内容类型如何工作?
一些 resources强调它基于文件扩展名和其他资源,例如 this one表明存在错误。
我创建了一个 excel 文件并使用另存为 我将其保存为 myexcelfile.txt 并且 ProbeContentType 将其报告为 application/zip 因此证明它不是基于扩展,现在这造成了进一步的困惑 the link我提供的是来自 Oracle 的,并声明了扩展方式和字节方式的验证。
事实是什么? ProbeContentType 实际上是如何工作的?
最佳答案
根据神谕,
“此方法的实现高度特定于平台并且并非万无一失。内容类型由平台的默认文件类型检测器确定。例如,如果检测器确定文件的内容类型为基于 application/x-java在 .class 扩展上,它可能会被愚弄。”
http://docs.oracle.com/javase/tutorial/essential/io/misc.html
您也可以编写自己的 FileTypeDetector。如果不这样做,将使用默认的 FileTypeDetector。即在 Linux 中他们使用 sun.nio.fs.GnomeFileTypeDetector
关于Java ProbeContentType,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22679201/
Java 中的探测内容类型如何工作? 一些 resources强调它基于文件扩展名和其他资源,例如 this one表明存在错误。 我创建了一个 excel 文件并使用另存为 我将其保存为 myexc
在硬盘驱动器故障需要重新安装操作系统之前,我在使用 Windows 7 的计算机上完成了基于 Java 8u45 的项目的所有开发。据我所知,一切都应该与我之前的设置非常相似,但现在我注意到在我的新安
在一个网络项目中,用户上传他们的文件,但是当我在服务器上收到它们时,它们被存储为 .tmp 文件而不是它们的原始文件扩展名(这也是我的首选行为)。 但是,这会导致 Files.probeContent
我在 mac 上使用 java se7,oracle 预览。 我的问题是“Files.probeContentType”返回空值...这是否可能是由于 se7 for mac 的早期状态?我的代码:
我在使用 Files.probeContentType(path) 方法测试文件类型的应用程序中遇到了一些奇怪的问题:在我的 Ubuntu 和 Fedora 系统上,它工作正常,但当移动到 RedHa
Java 有一个内置的内容类型检测器,但是,它自然会错过一些文件类型。 Files.probeContentType(new File(".ttf").toPath()); 看起来好像该实现允许添加更
我是一名优秀的程序员,十分优秀!