【发布时间】:2018-10-15 13:50:33
【问题描述】:
我尝试使用两种方式读取文件类型。它在使用 ByteArrayInputStream 而不是 FileInputStream 时工作
将FileInputStream 与URLConnection 一起使用,
String fileType = URLConnection
.guessContentTypeFromStream(
new FileInputStream(new File("C:\\image.jpeg"))
); //fileType = null
将ByteArrayInputStream 与URLConnection 一起使用
String fileType = URLConnection
.guessContentTypeFromStream(
new ByteArrayInputStream(Files.readAllBytes(new File("C:\\image.jpeg").toPath()))
); //fileType = image/jpeg
为什么结果不同?
另外,有没有提到只使用ByteArrayInputStream 来读取文件类型?
【问题讨论】:
-
您使用的是什么 Java 版本?
-
我使用的是java 1.8.0_181
-
您的第一个代码 sn-p 未在 Java 8 上编译...
The constructor FileInputStream(Path) is undefined -
看看这个link,这样可以得到确切的想法
-
@ernest_k:我现在已经更正了 sn-p
标签: java fileinputstream bytearrayinputstream