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() ) );
}