java中图像的数据类型是什么

时间:2015-03-23 10:32:20

标签: java image

下面的代码用于获取和设置字符串的属性,这就是定义图像的数据类型,profile_picture是图像的变量。我要将图像存储在DB中。

private Long id;
public String first_name() {
    return first_name;
}

public void setfirst_name(String first_name) {
    this.first_name =first_name;

4 个答案:

答案 0 :(得分:3)

URL iconURL = new URL("");
// iconURL is null when not found
ImageIcon icon = new ImageIcon(iconURL);
Image i = icon.getImage();

Image i;是存储图像的变量,您可以从那里使用它。

干杯。

修改我建议您不要将整个图像保存在数据库中,只需将路径保存到图像....

答案 1 :(得分:3)

如果你在中没有图像处理,你可以存储字节byte[]或数据库级别(SQL BLOB,二进制大对象),SerialBlob(实现接口Blob)。

将图像维护为仅包含数据库中路径的文件,也有其优点。在混合方法中,您可以将文件读/写到blob数据库列,只需使用Input / OutputStream来节省内存。

答案 2 :(得分:2)

您可以使用其中任何一个来表示2D图像 -

  1. BufferedImage
  2. Image
  3. 修改:要在数据库中保存图片,您可以使用以下代码段将BufferredImage转换为byte[](然后将其另存为数据库中的BLOB) -

    try{
    
        BufferedImage originalImage = 
                                  ImageIO.read(new File("path/to/image/imag.jpg"));
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write( originalImage, "jpg", baos );
        baos.flush();
        byte[] imageInByte = baos.toByteArray();
    
        //save imageInByte as blob in database
        }catch(IOException e){
            System.out.println(e.getMessage());
        }finally{
           baos.close();
           //close database connection
        }
    

答案 3 :(得分:1)

        File f = new File("D:/New Doc_1.jpg");
        int length = (int)f.length(); 
        FileInputStream fis = new FileInputStream(f);
        pstmt.setBinaryStream(3, fis,length);
        int i = pstmt.executeUpdate();