getResourceAsStream.readAllBytes()读取的字节数超过了源文件实际拥有的字节数

时间:2019-04-13 18:14:01

标签: java file jar io

我正在编写一种实用程序方法,该方法将文件从.jar文件加载到ByteBuffer中。由于某种原因,它返回的字节数超过了源文件中的字节数。

相关代码(Full class):

if

在测试我的方法时,我传入文件路径“ /fonts/m5x7.ttf”。根据macOS Finder,此文件的大小为34,300字节(33kb)或磁盘上的37 KB。测试我的方法时,将打印以下内容:39090字节或38kb。测试是在使用Java 11编译的macOS上完成的。

由于某种原因,我得到的文件比实际文件多5KB。

编辑:奇怪的是,我能够加载一个.png文件。我尝试加载另一个.ttf文件,但它具有相同的问题。

我的方法输出:356958字节或348kb。实际文件大小:356,958字节(磁盘上为393 KB)

1 个答案:

答案 0 :(得分:0)

看来这是maven的问题。

Java class.getResourceAsStream() returns incorrect byte

一旦我禁用了资源过滤,该问题就不再出现。