Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:在java中,有没有办法将BLOB从数据库读入数组而不是FileOutputStream?_Java_Mysql_Jdbc_Blob - Fatal编程技术网

SQL:在java中,有没有办法将BLOB从数据库读入数组而不是FileOutputStream?

SQL:在java中,有没有办法将BLOB从数据库读入数组而不是FileOutputStream?,java,mysql,jdbc,blob,Java,Mysql,Jdbc,Blob,我正在努力做到以下几点: 除了不使用 OutputStream outputStream = new FileOutputStream(filePath); 及 我希望我可以创建一个图像数组列表,并简单地将所有图像存储在其中?原因是我从数据库中获取的图像都属于一个特定的用户,我不希望它们保存在硬盘上的文件中 您可以将图像存储为缓冲图像: ArrayListlistOfImages=newarraylist(); if(result.next()){ Blob Blob=result.getBl

我正在努力做到以下几点:

除了不使用

OutputStream outputStream = new FileOutputStream(filePath);


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

您可以将图像存储为缓冲图像

ArrayListlistOfImages=newarraylist();
if(result.next()){
Blob Blob=result.getBlob(“照片”);
add(javax.imageio.imageio.read(blob.getBinaryStream());
}

您可以将图像存储为缓冲图像

ArrayListlistOfImages=newarraylist();
if(result.next()){
Blob Blob=result.getBlob(“照片”);
add(javax.imageio.imageio.read(blob.getBinaryStream());
}

读取流并在内部存储它,不管您想要什么。如果Blob是一个映像,并且您只想将整个映像保留在内存中,那么不要使用JDBC或方法。只需调用以获取
字节[]
。然后,您可以轻松地将多个图像存储在
列表中
列表中
。读取流并在内部存储它,无论您希望如何。如果Blob是一个图像,并且您只想将整个图像保留在内存中,请不要使用JDBC或方法。只需调用以获取
字节[]
。然后,您可以轻松地将多个图像存储在
列表
列表
中。
while ((bytesRead = inputStream.read(buffer)) != -1) {
    outputStream.write(buffer, 0, bytesRead);
}
ArrayList< BufferedImage > listOfImages = new ArrayList< BufferedImage >();

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