在Java中管理二进制数据的最佳类型是什么?

Ren*_*ani 14 java binary

我从网上获得了一些文档,其中很多都是二进制文件(可执行文件,PDF等).在Java中,保存二进制数据直到将其保存在数据库中的正确类型是什么?我可以使用字符串吗?

Mik*_*ark 14

使用字节数组(byte [])或InputStream(例如ByteArrayInputStream).Java字符串不是通用二进制数据的好容器.

Apache库commons-io有一些很好的实用程序类来处理字节和流.

例如IOUtils.toByteArray(InputStream)


ByteBuffer作为Java NIO的一部分引入,可在Java 4(1.4)及更高版本中使用.在特殊情况下,它可以比使用byte []具有性能优势.它还有一些有用的便利方法.我仍然经常使用byte [],因为它更广为人知,在API中更常见,并且几乎总是表现得足够好.


Ada*_*dam 5

bytes数组

byte[]
Run Code Online (Sandbox Code Playgroud)

这就是为什么您看到它在FileInputStream中使用的原因