我从网上获取了一些文档,其中许多是二进制文件(可执行文件、PDF等)。在Java中,保存这些二进制数据以便存储到数据库中时,应该使用哪种正确的类型?我能用字符串来保存吗?
ByteBuffer是Java NIO的一部分,自Java 4(1.4)以来可用。在特定场景下,它可以比使用byte[]具有更好的性能优势。它还具有一些有用的便捷方法。但我仍然通常使用byte[],因为它更广为人知,在API中更常见,并且几乎总是足够快。
byte[]
,但对于二进制文件(将存储在数据库BLOB中),您应该使用临时文件作为InputStream
。JavaEE也会对上传的文件执行此操作。浪费byte[]
内存不利于服务器性能。想象一下,一个Web应用程序提供大约200MB的十个PDF文件。服务器将需要超过2GB的RAM才能运行Web应用程序。PreparedStratement
的setBlob()。