java - SQL : Is there any way to read BLOBs from a database into an array instead of FileOutputStream in java?

标签 java mysql jdbc blob

我正在尝试执行以下操作:http://www.codejava.net/java-se/jdbc/read-file-data-from-database-using-jdbc

除非不使用

OutputStream outputStream = new FileOutputStream(filePath);

while ((bytesRead = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, bytesRead);
}

我希望我可以创建一个图像数组列表并简单地将所有图像存储在其中?原因是我从数据库获取的图像都属于一个特定用户,我不希望它们保存在硬盘上的文件中。

最佳答案

您可以将图像存储为BufferedImage:

ArrayList< BufferedImage > listOfImages = new ArrayList< BufferedImage >();

if (result.next()) {
    Blob blob = result.getBlob("photo");
    listOfImages.add( javax.imageio.ImageIO.read( blob.getBinaryStream() ) ); 
}

ImageIO JavaDoc

关于java - SQL : Is there any way to read BLOBs from a database into an array instead of FileOutputStream in java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46287005/

相关文章:

Java Eclipse Java 构建路径添加项目 ClassNotFoundException

java - 如何使用 Spring Boot SPEL 以编程方式读取/解析 yaml 值?

java - Java中读取带有多个分隔符的文件

java - Java中如何让线程等待1ms?

mysql - 在 mysql 中选择唯一的行标识符进行更新

php - sql查询没有插入到表中?

PHP 表单未将信息保存到 mySQL 数据库错误

java - 无法从 Ubuntu 上的 Java 程序连接到本地主机上的 MySQL

java - 在jdbc中一次执行多个过程调用

java - 将值列表插入 Mysql